[英]Django foo_display with values()
可以说我有一个如下所示的django模型
Class Student(models.Model):
name=models.CharField(max_length=100);
status=models.IntegerField()
status字段只有值1,2。 有没有什么方法可以用每个我在values()方法中使用它们的相应显示值(通过,失败)来替换1,2,而不会在查询集上进一步迭代。 例如:
这样的事情
Student.objects.values(staus_display_value)
这样它返回一个带有显示值而不是db值的值查询集
[{"name":"jane","status":"pass"},
{"name":"john","status":"fail"}]
我知道Model.get_FOO_display()可用于获取单个对象的显示值。
试试这个
class Student(models.Model):
X_CHOICES = (
(1, 'Pass'),
(2, 'Fail'),
)
name=models.CharField(max_length=100);
status = models.IntegerField(default=1,choices=X_CHOICES)
>>>Student.objects.create(name="myname")
>>>s = Student.objects.get(name="myname")
>>>s.get_status_display()
'Pass'
是的,您可以在模型中执行以下操作:
Class Student(models.Model):
X_CHOICES = (
(u'1', u'Pass'),
(u'2', u'Fail'),
)
name=models.CharField(max_length=100);
status = models.IntegerField(default=1,choices=X_CHOICES)
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.