[英]How do I get a constant column in a Django ORM?
我正在学习 ORM。 但是,即使在阅读文档后,我也有一些不明白的地方。
如何在 Django ORM 中获取常量列?
SQL 在这里。
select *, 'a' as a from book;
这是我试过的查询集
Book.objects.annotate(a=Value('a'))
错误就在这里。
django.core.exceptions.FieldError: Cannot resolve expression type, unknown output_field
执行您的代码时,我收到以下错误:
FieldError('Cannot resolve expression type, unknown output_field')
这意味着 django 不知道您的注释字段应该产生的类型。
要解决此问题,您需要将注释包装在ExpressionWrapper
:
from django.db.models import Value, ExpressionWrapper
Book.objects.annotate(a=ExpressionWrapper(
Value('a'),
output_field=models.CharField(max_length=45),
))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.