Model.get_FOO_display() 方法在使用 values() QuerySets 时不起作用
Posted
技术标签:
【中文标题】Model.get_FOO_display() 方法在使用 values() QuerySets 时不起作用【英文标题】:Model.get_FOO_display() method does not work when using 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()"_ 方法不再起作用。
有什么想法吗?
【问题讨论】:
【参考方案1】:如果您使用values()
来检索所有可能字段的子集,您可以尝试使用only()
,因为它可以很好地与get_FOO_display()
配合使用
Django documentation for only()
【讨论】:
以上是关于Model.get_FOO_display() 方法在使用 values() QuerySets 时不起作用的主要内容,如果未能解决你的问题,请参考以下文章