drf
유저 : 정산정보
1 : 1 관계
정산 정보 : 정산 계좌
1 : 다 관계
models.py
class 정산정보 모델(models.Model):
user = models.OneToOne(User, on_delete=models.CACADE ...)
email = models.EmailField()
class 정산계좌 모델(models.Model):
정산정보 = models.ForeignKey(정산정보모델, on_delete=models.CACADE ...)
account_number = models.CharField('계좌번호', ...)
serializers.py
class 정산정보CreateSerializer:
정산 계좌 = 정산계좌CreateSerializer(many=True, required=False)
class Meta:
model = 정산계좌
fields = ( ... )
@transaction.atomic()
def create(self, validated_data):
# 각자 모델에 필요한 데이터끼리 깔끔하게 정리하자!!!!!!!
정산계좌_data = validated_data.pop('정산계좌_data')
# 생성!!!!!!!!
# get_or_create 로 다시 만들기를 하였을 때 버그가 안나게 할 수 있지만
# 일부러 업데이트 방향으로 이끌기 위해 버그를 만들어 주었다.
정산정보_instance = 정산정보모델.objects.create(
...
)
if 정산계좌_data:
for 계좌정보 in 정산계좌_data:
정산계좌모델.objects.create( ... )
# 출력!!!!!
return 정산정보_instance
views.py
class 정산정보APIView(generics.ListCreateAPIView):
if self.request.method == 'GET':
return 정산정보serializer
elif self.request.method == 'POST':
return 정산정보CreateSerializer
Author And Source
이 문제에 관하여(drf), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@django-support/drf저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)