Django Nested Serializer无法正常工作

时间:2015-11-03 15:34:59

标签: python django serialization

我正在尝试创建一个Django嵌套序列化器。

这是我的序列化器:

class GetUsersSerializer(serializers.ModelSerializer):
    name = NameSerializer(source='user_id')
    birthday = BirthdaySerializer(source='user_id')
    class Meta:
        model = User
        fields = ('user_id',
                  'username',
                  'name',
                  'birthday')

和辅助序列化程序:

class BirthdaySerializer(serializers.ModelSerializer):
    class Meta:
        model = Eligibility
        fields = ('dobd',
                  'dobm',
                  'doby',)

class NameSerializer(serializers.ModelSerializer):
    class Meta:
        model = Demographics
        fields = ('firstname',
                  'lastname',)

人口统计模型和资格模型都具有用户模型的外键(这些外键都是模型文件中的用户 - 并且它们作为user_id存储在数据库中)。

我应该在源字段中添加什么内容?目前我有user_id,它是User模型上的辅助id字段(不是pk),我应该使用pk代替(id)吗?

我应该将参数many = True传递给序列化程序吗?每个用户应该只有一个实例。

也得到:

AttributeError: Got AttributeError when attempting to get a value for field `firstname` on serializer `NameSerializer`.
The serializer field might be named incorrectly and not match any attribute or key on the `int` instance.
Original exception text was: 'int' object has no attribute 'firstname'.

0 个答案:

没有答案