Rokas
Rokas

Reputation: 125

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)

Upvotes: 2

Views: 1179

Answers (1)

Raja Simon
Raja Simon

Reputation: 10315

Why not use get_or_create method.

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

So email will associated with multiple event...

Upvotes: 1

Related Questions