在此我的(简化)情况。当我将选择字段从一个更改为另一个时,我想记录一条消息说
“字段从(以前)更改为(新)”
在括号中,我想要字段的实际标签,因此在下面的示例中,应该是“字段从打开更改为已完成”。但是,由于某种原因,我只能生成
“字段从 Open 更改为 2”
鉴于我使用完全相同的代码,我很困惑为什么会发生这种情况。有任何想法吗?
class Task(Record):
class Status(models.IntegerChoices):
OPEN = 1, "Open"
COMPLETED = 2, "Completed"
status = models.IntegerField(choices=Status.choices, db_index=True, default=1)
然后在我看来,我尝试这样做:
if request.POST["status"] == 2:
description = "Status changed from " + info.get_status_display() + " → "
# This works fine, returning "Status changed from Open → "
info.status = request.POST.get("status_change")
info.save()
description = description + str(info.get_status_display())
# Yet for some reason this fails, and I end up with an integer (2)! even though I use the same syntax