如何从列表中的 django 模型中获取选择字段?
Posted
技术标签:
【中文标题】如何从列表中的 django 模型中获取选择字段?【英文标题】:How to get choices field from django models in a list? 【发布时间】:2021-09-18 22:06:32 【问题描述】:我有一个具有选择字段的模型。我想获取列表中的选项。请帮助我实现这一目标
OPTIONS = (
('COOL', 'COOL'),
('WARM', 'WARM'),
)
class My_Model(models.Model):
options = models.CharField(max_length=20, choices=OPTIONS, default=None,blank=True, null=True)
我想要像 ['COOL','WARM'] 这样的列表中的选项值,如何实现它,我尝试了类似 My_Model.options 但它不起作用
【问题讨论】:
【参考方案1】:我检查了上面的代码,但它在 .field 上给了我错误
所以我尝试了其他代码,该代码对我有用。
[OPTIONS[c][0] for c in range(len(OPTIONS))]
['酷','暖']
【讨论】:
【参考方案2】:您可以通过以下方式获取数据:
>>> My_Model.options.field.choices
(('COOL', 'COOL'), ('WARM', 'WARM'))
因此,您可以通过以下方式获取键列表:
>>> [c[0] for c in My_Model.options.field.choices]
['COOL', 'WARM']
如果您想要该值(为该选择呈现的部分),请使用c[1]
。
【讨论】:
以上是关于如何从列表中的 django 模型中获取选择字段?的主要内容,如果未能解决你的问题,请参考以下文章