我正在使用Django-Rest-Framework构建我的第一个API,而且我有点卡住了。
我有一个模特:
class Stage(TimeStampedModel):
name = models.CharField(max_lenth=20)
application = models.ForeignKey(Application, null=True)
creator = models.ForeignKey(Account, null=True)
和序列化器一样
class StageSerializer(serializers.ModelSerializer):
assignee = AccountSerializer(read_only=True, required=False)
application = ApplicationSerailizer(read_only=True, required=False)
class Meta:
model = Stage
fields = ('id', 'name', 'assignee', 'created_at', 'updated_at',
'application',)
read_only_fields = ('created_at', 'updated_at', 'assignee',
'application',)
视图如下:
class StageViewSet(viewsets.ModelViewSet):
queryset = Stage.objects.order_by('-created_at')
serializer_class = StageSerializer
def perform_create(self, serializer):
serializer.save(creator=self.request.user)
我想以编程方式保存当前应用程序,就像我正在使用用户一样。怎么做?
答案 0 :(得分:0)
我认为这是一个身份问题,请注意class Meta
必须是StageSerializer
的子类。之后,一切都应该按预期工作。