如何在 APIView 中附加 ForeignKey 值?
How to attach a ForeignKey value in an APIView?
我正在使用 Django 1.10 和 Django Rest Framework 构建应用程序。
我想知道 "right" 创建数据对象的方法,并在创建过程中附加另一个对象作为外键。
考虑以下代码:
#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 字段的正确方法是什么?
我认为最适合您的方法是覆盖 perform_create
方法。
class CreateModel(generics.CreateAPIView):
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
我正在使用 Django 1.10 和 Django Rest Framework 构建应用程序。
我想知道 "right" 创建数据对象的方法,并在创建过程中附加另一个对象作为外键。
考虑以下代码:
#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 字段的正确方法是什么?
我认为最适合您的方法是覆盖 perform_create
方法。
class CreateModel(generics.CreateAPIView):
def perform_create(self, serializer):
serializer.save(owner=self.request.user)