【问题标题】:How to get currently selected choice from CharField in Django?如何从 Django 中的 CharField 中获取当前选择的选项?
【发布时间】:2018-02-03 17:49:46
【问题描述】:

我正在尝试从 CharField 中获取当前选择的选项,并在 str 方法中使用它,如下所示:

class Foo(models.Model):
    measurement_value = models.FloatField(max_length=200)

    CHOICES = (('a', 'Alpha'), ('b', 'Beta'))
    choice = models.CharField(max_length=5, choices=CHOICES, default='a')

    def __str__(self):
        """String representation for the foo object."""
        return str(self.measurement_value) + " " + self.choice   

例如,如果我想添加对象 foo,测量值为 10.5 并选择 'a' (Alpha),str 将返回:“10.5 Alpha”

目前,我提供的代码返回:“10.5 a”。

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    您可以使用实例方法get_{}_display获取人类可读的选择名称

    你的例子

     def __str__(self):
         return str(self.measurement_value) + " " + self.get_choices_display()
    

    【讨论】:

    • 非常感谢,我花了好几个小时才找到答案!
    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 2019-08-20
    • 2017-01-11
    • 1970-01-01
    相关资源
    最近更新 更多