Django doc says用于聚合函数:
output_field - 表示返回值
的模型字段的可选参数
所以我希望下面的代码返回“True”。
MyModel.objects.annotate(foo=Max(Value("yes"), output_field=BooleanField())).first().foo
或
MyModel.objects.annotate(foo=Max("id", output_field=BooleanField())).first().foo
但是在第一种情况下返回字符串“yes”,在第二种情况下返回一些整数。
我知道我可以使用“演员”,但是有人可以告诉我,在这种情况下“output_field”有什么用?
答案 0 :(得分:0)
在某些情况下,Django 需要明确知道某些字段中的数据类型。
例如,如果您尝试将此类查询集的结果提供给某个序列化程序(来自 Django REST Framework),您将收到错误并被迫提供输出字段。