python - View 中的 Django 选择引用

标签 python django typeerror python-docx

模型.py:

class RiskIssue(models.Model):
RISK_ISSUE_SEVERITY = (
    ('L', 'Low'),
    ('M', 'Medium'),
    ('H', 'High'),
)
projectRiskIssueSeverity = models.CharField("Risk/Issue Severity", max_length=1, choices=RISK_ISSUE_SEVERITY, default='L')

查看.py代码:

cell = table.rows[2].cells[0]
formatted_status = [astatus.get_risk_issue_severity_display() for astatus in activitylist.values_list('activityStatus', flat=True)]
cell.paragraphs[0].text = ', '.join(formatted_status)

我收到错误代码:“unicode”对象没有属性“get_risk_issue_severity_display”

我做错了什么?除了正确答案之外,我已经尝试了所有方法。 我认为这里的 TypeError 问题非常小

最佳答案

您不能像您尝试的那样将 get_FOO_display() 与字符串值一起使用。您需要模型的实例才能使其工作。正如您所拥有的,您的代码转换成的内容类似于:

'L'.get_projectRiskIssueSeverity_display()

这就是“无属性”错误的来源。

如果您只想要可能值的列表,最好直接从 View 中使用 RiskIssue.RISK_ISSUE_SEVERITY 并将其转换为列表或您需要的任何内容。

关于python - View 中的 Django 选择引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28078163/

相关文章:

django - 测试 Django 电子邮件后端

javascript - Dojo 的依赖问题 -Uncaught TypeError : chart. addPlot 不是函数

python - pygeoapi 中的创建、更新和删除操作

django - 将请求重定向到管理界面

python - 如何使用 yum Python 模块获取在接受交易之前将下载的软件包列表?

python - Django模板中字典的循环问题

python 3.0 pickle.load 类型错误

python - 尝试定义删除功能,用户在其中输入名称并单击按钮,然后删除该行

python - 如何从 Pycharm 访问不同的 Anaconda 环境(在 Windows 10 上)

python - 如何在 python3.8 中检测 CTRL+C?