使用 views.py Django 返回相关字段

Returning the related field using in views.py Django

我有以下代码:

models.py

class Model_ItemName(models.Model):
    item_name = models.CharField(max_length = 50) # e.g. "Power Ranger"

class Model_Cart(models.Model):
    item_name = models.ForeignKey(Model_ItemName)

views.py

Model_Cart.objects.select_related("item_name").values("item_name")[0]["item_name"] # <---- Expect to return "Power Ranger"

我的目标是从 Model_ItemName.

中检索 "item_name" 的值(比如 "Power Ranger")

我指的是 this post 的解决方案,但我现有的代码 returns 是那个 "item_name" 的 ID 号。我在这里错过了什么?

您可以使用 item_name__item_name 作为字段名称(查看文档 this part 了解详细信息):

Model_Cart.objects.values("item_name__item_name")[0]["item_name__item_name"]

请注意,在这种情况下您不需要 select_related,使用 values() Django 将通过使用 sql 连接的一个查询获取 item_name__item_name