当我尝试保存非唯一对象时出现此错误:
UNIQUE constraint failed: event_invitedperson.email, event_invitedperson.event_id
保存前我应该在哪里以及如何检查记录是否唯一?
我的模型:
class InvitedPerson(models.Model):
email = models.EmailField("")
event = models.ForeignKey(Event)
class Meta:
unique_together = [('email', 'event')]
型号:
class InvitedPerson(models.Model):
email = models.EmailField("")
event = models.ManyToManyField(Event)
请您参考如下方法:
为什么不使用 get_or_create 方法。
>>> InvitedPerson.objects.get_or_create(email='gmail@gmail.com', event=event1)
(<InvitedPerson: InvitedPerson object>, True)
>>> InvitedPerson.objects.get_or_create(email='gmail@gmail.com', event=event2)
(<InvitedPerson: InvitedPerson object>, True)
因此电子邮件将与多个事件关联...
