У меня есть четыре модели, B
, C
и D
. auth_user
является исходной моделью для B
, C
и D
. Как я могу создать сериализатор для auth_user
, когда приходит запрос POST, он может вставить auth_user
, а затем он создает запись в B
, C
и D
серийно. Если какое-либо исключение возникает в любой момент, все транзакции должны быть отброшены. Могу ли я достичь этого с помощью DRF?Создание записей с использованием ForeignKey в каркасе отдыха django
мои модели:
class B(models.Model):
user = models.ForeignKey(auth_user)
name = models.CharField(max_length = 10)
class C(models.Model):
user = models.ForeignKey(auth_user)
owner = model.ForeignKey(auth_user) ## existing user ID
phone = models.CharField(max_length = 20)
class D(models.Model):
key = models.CharField(max_length = 10)
user = models.ForeignKey(auth_user)
Я имею АЯКС вызов, который сообщения
{'owner_id':1,'name':xxx,'phone':899,'key':123}
к API URL, который должен создать новый пользователь в auth_user
таблице и использовать что user_id
сделать запись в модели B
, C
, и D
. Если он не удастся в любой момент, он должен отменить всю транзакцию в auth_user
, B
, C
и D
.
Как я могу написать сериализатор и представления для этого в Django REST Framework.
Могу сказать, что да, это возможно с использованием DRF. –
Вы что-то пробовали? Нам легче работать на примере, который вы предоставляете, и помочь вам исправить любые проблемы, с которыми вы столкнулись. –
@KevinBrown Я использую serializers.RelatedField для получения данных, и я могу просматривать соответствующий объект таблиц, но не уверен, могу ли я создать ресурс таким образом. благодаря – mithu