Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django Rest框架关系_Python_Django_Django Rest Framework - Fatal编程技术网

Python Django Rest框架关系

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)

问题:

我制作了如下序列化程序:

序列化程序.py

结果:

以及在发布数据时如何在barang API中生成这样的结果:

{
    "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