jit*_*hin 5 python django django-models django-views
假设我有一个 django 模型,如下所示
Class Student(models.Model):
name=models.CharField(max_length=100);
status=models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
status 字段只有值 1,2。有什么方法可以在每次在 value() 方法中使用它们时用它们相应的显示值(通过,失败)替换 1,2 ,而无需进一步迭代查询集。例如:
像这样的东西
Student.objects.values(staus_display_value)
Run Code Online (Sandbox Code Playgroud)
这样这将返回一个带有显示值而不是数据库值的值查询集
[{"name":"jane","status":"pass"},
{"name":"john","status":"fail"}]
Run Code Online (Sandbox Code Playgroud)
我知道 Model.get_FOO_display() 可用于获取单个对象的显示值。
是的,您可以在模型中执行以下操作:
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)
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。