繁体   English   中英

Django:如何将一个模型作为外键添加到另一个模型?

[英]Django: How to add one model as a foreign key to the other model?

我正在使用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)

我想以编程方式保存当前应用程序,就像我与用户一样。 这个怎么做?

我认为这是一个偶然的问题,请注意, class Meta必须是StageSerializer的子类。 之后,一切都会按预期进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM