如何使用子查询获取 SQL 查询?
How to get SQL query for query with Subquery?
我有一个问题
q = Product.objects \
.annotate(t=Subquery(Purchase.objects.filter(user=user)))
当我这样做时 print(q.query)
我得到以下异常:
{FieldError} Cannot resolve expression type, unknown output_field
怎么办以及为什么他们无法解析表达式类型?
您需要使用.values
,从用户
select您要注释的字段
q = Product.objects.annotate(t=Subquery(Purchase.objects.filter(user=user).values('pk')))
我有一个问题
q = Product.objects \
.annotate(t=Subquery(Purchase.objects.filter(user=user)))
当我这样做时 print(q.query)
我得到以下异常:
{FieldError} Cannot resolve expression type, unknown output_field
怎么办以及为什么他们无法解析表达式类型?
您需要使用.values
,从用户
q = Product.objects.annotate(t=Subquery(Purchase.objects.filter(user=user).values('pk')))