У меня есть следующая модель:
class Ticket(models.Model):
title = models.CharField()
merged_to = models.ForeignKey("self", related_name='merger_ticket', null=True, blank=True)
looser_ticket = models.BooleanField(default=False)
Существует несколько способов манипулирования моделью:
Первая
ticket = Ticket.objects.get(pk=1)
ticket.title = "This is edit title"
ticket.merged_to_id = 2
ticket.looser_ticket = True
Второй
ticket = Ticket.objects.get(pk=1)
setattr(ticket, "title", "Edit Title")
setattr(ticket, "merged_to_id", 2)
setattr(ticket, "looser_ticket", True)
Когда я манипулировал материалом, в представлениях для булевского обновления значений первый метод не работал, однако второй метод работал. В чем разница между использованием первого и второго и когда они должны использоваться?
Спасибо!