使用 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
。
我有以下代码:
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
。