【问题标题】:Model.get_FOO_display() method does not work when using values() QuerySetsModel.get_FOO_display() 方法在使用 values() QuerySets 时不起作用
【发布时间】:2011-07-21 04:42:50
【问题描述】:

在我的 "models.py" 我有以下内容:

class Contact(models.Model):
type = models.IntegerField('Contact Type', choices=core.constants.CONTACT_TYPE_CHOICES)

在 HTML 模板中,按照正常情况,我使用以下内容来检索从普通 QuerySet 返回的“人类可读”值:

{{ contact.get_type_display }}

但是,当我按照此处所述使用 "ValuesQuerySet" 时:

http://docs.djangoproject.com/en/1.3/ref/models/querysets/#values

然后 _"Model.get_FOO_display()"_ 方法不再起作用。

有什么想法吗?

【问题讨论】:

    标签: django-models django-templates django-views


    【解决方案1】:

    如果您使用values() 来检索所有可能字段的子集,您可以尝试使用only(),因为它可以很好地与get_FOO_display() 配合使用

    Django documentation for only()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 2013-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多