如何从Django的CharField中选择目前的选择?

时间:2018-02-03 17:49:47

标签: django django-models

我正在尝试从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   

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用实例方法get_{}_display

获取人类可读的选择名称

你的例子

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