Django Rest Framework对象的关系

时间:2017-09-04 19:22:30

标签: django django-rest-framework

如何找到具有关系的对象以及如何保存与Django Rest Framework相关的对象?

我查看了文档,发现了与此相似的内容

class UserSerializer(serializers.ModelSerializer):
    profile = ProfileSerializer()
    class Meta:
        model = User
        fields = ('username', 'email', 'first_name', 'last_name', 'profile')



class ProfileSerializer(serializers.ModelSerializer):
    class Meta:
        model = Profile
        fields = ('nome_empresa', 'cnpj')

profile = ProfileSerializer() NameError:名称'ProfileSerializer'未定义

1 个答案:

答案 0 :(得分:0)

Python不是一种编译语言。一切都是在运行时创建/完成的。

在以下行:

profile = ProfileSerializer()

您正在使用ProfileSerializer,但此时尚未创建它。它创建了一会儿。要解决此问题,您需要将其放在UserSerializer类之前:

class ProfileSerializer(serializers.ModelSerializer):
    class Meta:
        model = Profile
        fields = ('nome_empresa', 'cnpj')

class UserSerializer(serializers.ModelSerializer):
    profile = ProfileSerializer()
    class Meta:
        model = User
        fields = ('username', 'email', 'first_name', 'last_name', 'profile')

希望它有所帮助!