Django,获取模型中的属性

1 投票
2 回答
1186 浏览
提问于 2025-04-18 00:30

我想从一个模型中获取某个字段的值。问题是,当我使用 filter(pk=university) 时,得到的是 id。但是返回的结果是 [{'name': u'Icecream Chocolate'}]。有没有办法直接获取这个名字,而不是像 [{'name': u' ... }] 这样的格式呢?

item_name = Icecream.objects.filter(pk=icecream_id).values('name')

2 个回答

1

在文档的下一部分:

item_name = Icecream.objects.filter(pk=icecream_id).values_list('name')
1

一种选择是使用 objects.get()

item_name = Icecream.objects.get(pk=icecream_id).name

或者,如果你还是想用 filter(),但又不想看到带有 name 键的字典,可以使用 values_list() 并设置 flat=True

item_name = Icecream.objects.get(pk=icecream_id).values_list('name', flat=True)

撰写回答