简体   繁体   中英

Django UNIQUE constraint failed

When I am trying to save not unique object I am getting this error:

UNIQUE constraint failed: event_invitedperson.email, event_invitedperson.event_id

Where and how should I check if record is unique before saving?

My model:

class InvitedPerson(models.Model):
    email = models.EmailField("")
    event = models.ForeignKey(Event)
    class Meta:
        unique_together = [('email', 'event')]

model:

class InvitedPerson(models.Model):
    email = models.EmailField("")
    event = models.ManyToManyField(Event)

Why not use get_or_create method.

>>> 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)

So email will associated with multiple event...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM