首页 > 解决方案 > 模型上的 def __str__

问题描述

我希望在此模型上返回等于行业名称 + 风险级别(即低)的 str

RISKLEVEL = (
    (0, "Low"),
    (1, "Medium"),
    (2, "High"),
    )

class IndustryIndex(models.Model):
    industry = models.CharField(max_length=200)
    risk = models.IntegerField(choices=RISKLEVEL)
    description = models.CharField(max_length=200)

    def __str__(self):
        return self.industry + self.page

我知道我在下一行的语法def __str__(self):不正确。你知道它应该是什么吗?此外,self.page 似乎只返回整数,但我有兴趣返回描述(即“高”)。

谢谢!

标签: djangodjango-models

解决方案


您可以使用get_risk_display()方法:

def __str__(self):
    return '{}-{}'.format(self.industry, self.get_risk_display())

推荐阅读