0
다른 객체를 만드는 객체에 대한 perform_create가 있습니다.objet가 관리 사이트에서 생성 될 때 perfom_create하는 방법. Django RestFramework
class DocumentDetailSampleViewSet(viewsets.ModelViewSet):
queryset = DocumentDetailSample.objects.all()
serializer_class = DocumentDetailSampleSerializer
def perform_create(self, serializer):
doc_detail_sample = serializer.save()
query_set = User.objects.all()
ids = query_set.values_list('id', flat=True)
for i in ids:
doc_detail = DocumentDetail()
doc_detail.details_sample = doc_detail_sample
doc_detail.user_id_id = str(i)
doc_detail.save()
나는 DocumentDetail
도 만들어집니다 DocumentDetailSample
을 만들 때 볼 수있다.
"POST"를 만들 때 제대로 작동합니다.
내 문제는 DocumentDetailSamples
도 관리 사이트에서 만들 수 있다는 것입니다. 그래서 ... 관리자 사이트에서 생성되면 perform_create
이 더 이상 작동하지 않으며 DocumentDetail
이 생성되지 않습니다.
어떻게해야합니까? "admin"DocumentDetailSample
생성 직후에 DocumentDetail
을 생성하고 싶습니다.
감사를 만들 때 당신은 단지 기능을 실행할 수 있도록
post_save
신호가 생성 된 인수를 제공합니다! 어디에서 그 기능을 작성해야합니까? views.py에서? 또한 "post_save"를 가져온 다음 수신기에서 "pre_save"를 사용합니다. 맞습니까? :) –좋은! 감사!!! :) 그래, 나는 그것을 views.py에 썼다. 그것은 post_save이다. _pre_save_에는 'created'가 없습니다. :) 감사합니다! –