我使用Django 1.10和Django Rest Framework构建应用程序。
我想知道"对"创建数据对象的方法,并在创建过程中将另一个对象作为外键附加。
请考虑以下代码:
#MODEL
class MyModel(models.Model):
owner = models.ForeignKey(User)
# other vars
#VIEW
class CreateModel(generics.CreateAPIView):
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
def create(self, request, *args, **args):
user = request.user # This User instance needs to be the ForeignKey to MyModel
问题:使用request
对象中的数据填充模型ForeignKey字段的正确方法是什么?
答案 0 :(得分:1)
在我看来,最合适的方法是覆盖perform_create
方法。
class CreateModel(generics.CreateAPIView):
def perform_create(self, serializer):
serializer.save(owner=self.request.user)