使用 value() 查询集时 Model.get_FOO_display() 方法不起作用
在我的“models.py”中,我有以下内容:
class Contact(models.Model):
type = models.IntegerField('Contact Type', Choices=core.constants.CONTACT_TYPE_CHOICES)
在 HTML 模板中,按照正常情况,我使用以下内容来检索从返回的“人类可读”值普通的查询集:
{{ contact.get_type_display }}
但是,当我使用“ValuesQuerySet”时,如下所述:
http://docs.djangoproject.com/en/1.3/ref/models/ querysets/#values
那么 _"Model.get_FOO_display()"_ 方法不再起作用。
有什么想法吗?
In my "models.py" I have the following:
class Contact(models.Model):
type = models.IntegerField('Contact Type', choices=core.constants.CONTACT_TYPE_CHOICES)
In the HTML template, as per normal, I use the following to retrieve the "human-readable" value returned from a normal QuerySet:
{{ contact.get_type_display }}
However, when I make use of the "ValuesQuerySet" as described here:
http://docs.djangoproject.com/en/1.3/ref/models/querysets/#values
then the _"Model.get_FOO_display()"_ method does not work anymore.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用
values()
检索所有可能字段的子集,则可以尝试使用only()
来代替,因为它与get_FOO_display() 配合得很好
only() 的 Django 文档
If you're using
values()
to retrieve a subset of all possible fields, you could try usingonly()
instead since it works nicely withget_FOO_display()
Django documentation for only()