簡體   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