Skip to main content
 首页 » 编程设计

python之Django UNIQUE 约束失败

2025年05月04日25lovecherry

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

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) 

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