有没有办法检索对象的值而不是它的 ID?

Is there a way to retrieve the value of object instead of its ID?

使用django.core.serializers.serialize.

时,有什么方法可以检索对象而不是ID (pk)

我有一个名为 MenuItem 的模型,其中包含与 MenuSubItem 相关的 ManyToManyField。

当我执行这段代码时serializers.serialize('json', MenuItem.objects.all())我得到了

{'model': 'support.menuitem', 'pk': 2, 'fields': {'type': 2, 'app_label': None, 'label': 'Intranet Administration', 'sub_item': [**3**]}}

但我真正想要得到的是

{'model': 'support.menuitem', 'pk': 2, 'fields': {'type': 2, 'app_label': None, 'label': 'Intranet Administration', 'sub_item': [**objects or objects_attribute**]}}

或者如果有使用其他库的解决方法

可能,这实际上是 API 中很常见的事情,文档中有一篇关于它的文章,看看 DRF serializer relations,这称为嵌套序列化,当你想序列化某些东西时其中还有另一个可序列化的东西,DRF 学习起来非常有趣,YouTube 上还有 JustDjango,他正在解释使用 DRF 的一些基础知识

你的代码应该看起来像

class mySerializer(serializers.ModelSerializer):

    Meta:
        model = myModelThatIwantToNest
        fields = ['....']

class myOtherSerializer(serializers.ModeSerializer):
    myModelThatIwantToNest = mySerializer();
    Meta:
        model = myOtherModel
        fields = ['myModelThatIwantToNest', '...']