【发布时间】:2015-12-03 20:04:21
【问题描述】:
我有两个模型
class Model1:
my_Choices = ((1, val1), (2, val2))
field1 = choice_field(my_Choices)
field2 = charfield
和另一个具有 ManyToMany 字段的模型
class Model2:
field1 = ManytoMany(Model1, related_name='rel_model2')
field2 = Charfield
现在我有一个 Model2 的对象(查询集)列表。(或者为了简单起见,假设我有一个第二个模型的对象)
现在我做反向过滤
Model2_obj.rel_model2.all()
或者(就我而言)
Model2_obj.rel_model2.values_list('field1', flat=True)
这将返回 Model1 中可用选项的 id 列表(对吗?)
例如[1L, 2L]
如果这是我想要的名称/值(我的意思是来自选项的值列表)
例如
['val1', 'val2'],
我可以通过迭代 id 列表和choice_list 来做到这一点,但我们可以用单一的 ORM 查询/Pythonic 方式/高效方式吗?
【问题讨论】:
标签: django django-models django-orm