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

Python Django:如何将一个模型作为外键添加到另一个模型?,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在用Django Rest框架构建我的第一个API,我有点卡住了 我有一个模型: class Stage(TimeStampedModel): name = models.CharField(max_lenth=20) application = models.ForeignKey(Application, null=True) creator = models.ForeignKey(Account, null=True) 和一个序列化程序 class StageS

我正在用Django Rest框架构建我的第一个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)

我希望以编程方式保存当前应用程序,就像我使用用户一样。如何做到这一点?

我认为这是一个识别问题,请注意
类Meta
必须是
StageSerializer
的子类。在那之后,一切都应该按预期进行。

您如何定义“当前应用程序”?实际上我还没有。但我想把它存储在用户模型中,这样我就不能用“request.user.current_application”来检索它了。但这是正确的方法吗@DanielRosemannat这完全取决于“当前应用程序”的实际含义。因此流程如下:用户创建一个应用程序。单个用户可以创建多个应用程序。现在,每个应用程序可以有许多阶段。舞台可以在飞行中创建。因此,如果用户选择了他创建的应用程序之一,即当前应用程序。这里创建的阶段应该属于当前应用程序@sven您面临的具体错误是什么?