2015-11-17 3 views
2

Когда я пытаюсь сохранить не уникальный объект, я получаю эту ошибку:Джанго UNIQUE ограничение не удалось

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) 

ответ

1

Почему бы не использовать 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) 

Так электронная почта будет связана с несколькими события ...

+0

Спасибо, идеально :) – Rokas

Смежные вопросы