Python Django Rest框架关系
问题: 我制作了如下序列化程序: 序列化程序.py 结果: 以及在发布数据时如何在barang API中生成这样的结果:Python Django Rest框架关系,python,django,django-rest-framework,Python,Django,Django Rest Framework,问题: 我制作了如下序列化程序: 序列化程序.py 结果: 以及在发布数据时如何在barang API中生成这样的结果: { "pegawai": {"id" : 1, "name" : "Ryan", "alias" : "R"} "nama_barang": "burjo", "harga_barang": "1234" }, 请帮助,干杯。您尝试过: rep = super().to_representation(instance)
{
"pegawai": {"id" : 1,
"name" : "Ryan",
"alias" : "R"}
"nama_barang": "burjo",
"harga_barang": "1234"
},
请帮助,干杯。您尝试过:
rep = super().to_representation(instance)
pegawai_obj = instance.pegawai
pegawai_data = {"id":pegawai_obj.id, "name":pegawai_obj.name, "alias":pegawai_obj.alias}
rep['pegawai'] = pegawai_data
return rep
但我不认为这是最好的解决方案。您尝试过:
rep = super().to_representation(instance)
pegawai_obj = instance.pegawai
pegawai_data = {"id":pegawai_obj.id, "name":pegawai_obj.name, "alias":pegawai_obj.alias}
rep['pegawai'] = pegawai_data
return rep
但我认为这不是最好的解决方案。编写额外的序列化程序并将其连接到\u表示中。。方法,
编写额外的序列化程序并将其连接到_表示。。方法,
它起作用了!,谢谢你!,谢谢
rep = super().to_representation(instance)
pegawai_obj = instance.pegawai
pegawai_data = {"id":pegawai_obj.id, "name":pegawai_obj.name, "alias":pegawai_obj.alias}
rep['pegawai'] = pegawai_data
return rep
class PegawaiShortSerializer(serializers.ModelSerializer):
class Meta:
model = Pegawai
fields = (
'id',
'name',
'alias',
)
class BarangSerializer(serializers.ModelSerializer):
class Meta:
model = Barang
fields = (
'pegawai',
'nama_barang',
'harga_barang',
)
def to_representation(self, instance):
rep = super().to_representation(instance)
rep['pegawai'] = PegawaiShortSerializer(instance.pegawai).data
return rep