Django UNIQUE约束失败

时间:2015-11-17 11:30:42

标签: python django model

当我尝试保存非唯一对象时,我收到此错误:

  

UNIQUE约束失败: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)

1 个答案:

答案 0 :(得分:1)

为什么不使用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)

因此,电子邮件将与多个事件相关联......