在SQL中,应该是:

SELECT *, 0 as new_field FROM table;

我以为在Django会是
Article.objects.annotate(new_field=0)

但它不起作用;我得到了一个错误:
TypeError: QuerySet.annotate() received non-expression(s): 0.

有办法吗?

最佳答案

另一个你可以尝试的解决方案

from django.db.models import Value, IntegerField

Article.objects.annotate(new_field=Value(0, output_field=IntegerField()))

关于python - 如何通过具有默认值的annotate()在输出中创建新字段?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58303218/

10-12 21:04