DjangModelUtils StatusModel能否提供人类可读的状态选项?

2024-09-30 16:32:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用carlmeyer的awesomedjango-model-utils包的StatusModel feature创建一个具有状态字段的模型。这是一个非常好的设计,您可以从StatusModel子类化模型,并将一个Choices对象传递给模型上名为STATUS的字段,该字段会自动在数据库表示中创建“STATUS”和“STATUS\u changed”字段。在

我希望我的status字段有一个单独的可读值,而不是它的数据库表示形式,documentation for the ^{} class表示可以向它传递一个两元组,其中第一个值是选择的数据库表示,第二个值是人类可读的值。但是当我尝试使用上面的Choices对象对我的StatusModel执行此操作时,当我在模板中使用status字段时,我仍然得到数据库表示。在

下面是我的模型课的节选:

from django.utils.translation import ugettext as _
from model_utils import Choices
from model_utils.models import StatusModel

STATUS_CHOICES = Choices(
    ('awaiting_approval', _('Awaiting approval')), 
    ('returned_to_submitter', _('Returned to submitter')), 
    ('approved', _('Approved')), 
    ('denied', _('Denied')),
)

class Petition(StatusModel):
    STATUS = STATUS_CHOICES
    ...

这是我的模板:

^{pr2}$

如何让模型类返回可读状态?或者StatusModel不支持Choices对象的那个功能?在


Tags: 对象from模型import模板数据库modelstatus