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

时间:2018-06-12 09:24:42

标签: django django-select-related

我有以下代码:

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的解决方案,但我的现有代码返回了“item_name”的id号。我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

您可以使用item_name__item_name作为字段名称(详情请查看文档this part):

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

注意在这种情况下你不需要select_related,values() Django将使用sql join查询item_name__item_name一个查询。