在创建 APIView
对象时,我应该在哪里设置关联的模型?
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
以上代码适用于generics.ListAPIView
,但是对于APIView
呢?我有两个模型A
和B
。 B
有一个指向A
的ForeignKey
。当创建B
实例时,如何在保存之前设置ForeignKey
?
a = A.objects.get(id=request.DATA['a_id'])
serializer = BSerializer(data=request.DATA)
if serializer.is_valid():
b = serializer.save(a=a)
如果我在BSerializer中包含a字段,则会出现“a字段是必需的”的错误提示。如果我将其排除,则会出现IntegrityError。应该如何处理?
serializer.save(myforeignkeyfield=A.Object.get(pk=1)
会出现错误:save() got an unexpected argument...
。我希望能够在 save() 中关联相关的模型,但是却得到了这个错误。至少在版本2.4中是这样的。 - Sam R.