我有一个如下所示的序列化程序:
class FooSerializer(serializers.ModelSerializer):
barid = serializers.IntegerField(source='get_bar')
class Meta:
model = Foo
fields = ('id', 'barid',)
可调用get_bar
返回Bar
个对象。我希望序列化输出到FooSerializer
,只需将barid
映射到返回的Bar
对象的主键。但是,当我运行上面的内容时,返回的是Bar
个对象的unicode表示。
如何获取主键整数?谢谢。
答案 0 :(得分:2)
您可以使用SerializerMethodField
返回值,例如:
class FooSerializer(serializers.ModelSerializer):
def getBarId(self, foo):
return foo.get_bar().id
barid = serializers.SerializerMethodField('getBarId')