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


  唯一约束失败: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='[email protected]', event=event1)
(<InvitedPerson: InvitedPerson object>, True)
>>> InvitedPerson.objects.get_or_create(email='[email protected]', event=event2)
(<InvitedPerson: InvitedPerson object>, True)


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

关于python - Django UNIQUE约束失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33755833/

10-12 17:08