如何用django queryset中的关联值替换外键

How to replace foreign key by its associated value in django queryset

我是 django 的新手,我需要你的帮助!

我在 javascript.

中写了一个查询数据库的 api/route 视图和 return 一个 JSON 到我的获取函数

有没有办法查询数据库并取回外键被其关联值替换的查询集?

虽然我可以使用 ModelName.objects.select_related( 'field '),但我不明白它是如何工作的。 如果您对实现目标的更好方法有解决方案或建议,请提前致谢!

伪代码中的上下文:

// HTML //

// JS //

函数get_list_of_data:

// Django //

如果我很好地理解了这个问题,当你序列化一个定义了 ForeignKey 字段的模型时,你只会在 JSON 响应中得到 id 值,但你想得到返回整个对象(不仅是数字)。
这样做的方法是专门为该 ForeignKey 模型编写序列化程序,然后在您尝试获取的模型的序列化程序中使用它。
您尚未提供任何代码,但这里有一些可能对您有所帮助的示例:

class SecondModelSerializer(serializers.ModelSerializer):
    class Meta:
        model = SecondModel
        fields = '__all__'


class FirstModelSerializer(serializers.ModelSerializer):
    foreign_key_field = SecondModelSerializer()

    class Meta:
        model = FirstModel
        fields = ('id', 'foreign_key_field', 'field1', 'field2')

在您的 FirstModelSerializer 中,您明确告诉 Django 使用 SecondModelSerializer 作为您的 ForeignKey 字段(我将其命名为 foreign_key_field)。这样 Django 将知道如何序列化该字段而不是仅返回 id 值。