Я хочу создать две записи из одного почтового запроса. Один в модели «Даты» и один в модели «Другое». Код, соответствующий обеим моделям, показан ниже.
class Dates(models.Model):
booking_id = models.AutoField(primary_key=True)
timestamp = models.DateTimeField(auto_now_add=True)
feedback = models.CharField(max_length=8, default='no')
myself = models.BooleanField(default=True)
class Meta:
app_label = 'bookings'
Другое:
class Other(models.Model):
booking_id = models.OneToOneField(
'bookings.Dates',
null=False,
default=1,
primary_key=True,
on_delete=models.CASCADE
)
name = models.CharField(max_length=64)
phone_number = models.CharField(max_length=14)
email_id = models.EmailField(max_length=128)
class Meta:
app_label = 'bookings'
Я проверил данные из сериализатора дат и создал объект в таблице дат. Теперь я хочу использовать сгенерированный 'booking_id' и тот же 'booking_id' для таблицы 'Другие'. Как я могу проверить сериализатор и создать объект в таблице «Прочее» при сохранении согласованности?
Здесь с согласованностью я имею в виду: либо создайте объекты в обеих таблицах, если ошибки не происходит, либо не создавайте объект, если возникла ошибка.