【问题标题】:How to get choices field from django models in a list?如何从列表中的 django 模型中获取选择字段?
【发布时间】: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 但它不起作用

【问题讨论】:

    标签: django django-models django-rest-framework django-views django-forms


    【解决方案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]

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-04
        • 2021-08-21
        • 1970-01-01
        • 2022-11-27
        • 2011-03-07
        • 2012-02-06
        • 2016-05-02
        • 2020-07-07
        相关资源
        最近更新 更多