auth_user
, B
, C
및 D
의 네 가지 모델이 있습니다. auth_user
은 B
, C
및 D
의 상위 모델입니다. POST 요청이 오면 auth_user
의 serializer를 만들 수 있습니다. 을 삽입 한 다음 B
, C
및 D
에 레코드를 연속으로 만듭니다. 어느 시점에서 예외가 발생하면 모든 트랜잭션을 롤백해야합니다. DRF를 사용하여 이것을 달성 할 수 있습니까?django rest framework에서 ForeignKey를 사용하여 레코드 만들기
내 모델 :
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)
나는 auth_user
테이블에 새로운 사용자를 생성하고 user_id
모델의 항목을 만들 것을 사용해야하는 API의 URL에있는 게시물
{'owner_id':1,'name':xxx,'phone':899,'key':123}
를 아약스 호출을 데 B
, C
및 D
. 언제든지 실패하면 auth_user
, B
, C
및 D
의 모든 트랜잭션을 롤백해야합니다.
Django REST Framework에서 직렬화와 뷰를 작성하려면 어떻게해야합니까?
예, DRF를 사용할 수 있습니다. –
지금까지 시도한 적이 있습니까? 귀하가 제공 한 예를 통해보다 쉽게 작업 할 수 있으며, 발생한 문제를 해결하는 데 도움이됩니다. –
@KevinBrown serializers.RelatedField를 사용하여 데이터를 가져오고 해당 테이블 개체를 볼 수 있지만 그 방법으로 리소스를 만들 수 있는지 여부는 확실하지 않습니다. 감사 – mithu