Проверьте, существует ли запись перед сохранением - PullRequest
0 голосов
/ 08 февраля 2010

У меня есть класс Customer, связанный с несколькими другими классами через внешний ключ. Я хочу, чтобы формы работали так, чтобы, если отправленная запись о клиенте уже существовала, эта запись будет использоваться в качестве внешнего ключа для зависимого класса.

Я объявил класс Customer как:

class Customer(CustomerBaseInfo):
   date_time_added = models.DateTimeField(default=datetime.today)
   source = models.ForeignKey(Source, blank=False)
   email_address = models.CharField(max_length=75)
   phone_number = models.CharField(max_length=20)
   preffered_contact_method = models.ForeignKey(PreferredContact)
   best_time_to_contact = models.ForeignKey(BestTime)
   def __unicode__(self):
     return self.first_name

Один из классов, которые ссылаются на класс Customer, выглядит следующим образом:

class Message(models.Model):
   date_time_added = models.DateTimeField(default=datetime.today)
   message_type = models.ForeignKey(MessageType)
   customer = models.ForeignKey(Customer)
   representative = models.ForeignKey(Representative)
   vehicle = models.CharField(max_length=80)
   message = models.TextField(null=True)
   def __unicode__(self):
     return self.date_time_added

1 Ответ

4 голосов
/ 08 февраля 2010

get_or_create() вернет модель после ее создания, если она не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...