django:使用QuerySet.values()返回Python类型?
我有一个自定义的django:使用QuerySet.values()返回Python类型?,django,django-models,Django,Django Models,我有一个自定义的字段,它将值转换为Python类型或从Python类型转换为Python类型: class MyField(models.Field): # … def to_python(self, value): # … return MyType(value) 有没有办法欺骗QuerySet.values(…)对其返回的值运行特定于字段的转换 例如,我想要这样的东西: >>> MyModel.objects.all().v
字段
,它将值转换为Python类型或从Python类型转换为Python类型:
class MyField(models.Field):
# …
def to_python(self, value):
# …
return MyType(value)
有没有办法欺骗QuerySet.values(…)
对其返回的值运行特定于字段的转换
例如,我想要这样的东西:
>>> MyModel.objects.all().values("my_field")
[{"my_field": MyType(…)}]
而不是当前的行为:
>>> MyModel.objects.all().values("my_field")
[{"my_field": "raw_database_value"}]
显然,我可以手动转换结果……但这有点蹩脚=\不,这是不可能的。您可以在以下网址查看相关机票: 在这里,您将看到关于
values()
是否应该实际运行任何特定于字段的转换的讨论
由于票证标记为“需要设计决策”,您需要将其发布到,或与IRC(Freenode#django dev)上的某个人一起提交
同时,您必须手动转换原始数据库值