我正在使用 django ORM 的 exact() 方法仅从一组模型中查询选定的字段以节省 RAM。由于对我正在使用的 ORM 管理器的一些限制(它不是默认的),我不能使用 defer() 或 only()。
以下代码可以正常工作,没有错误:
q1 = Model.custom_manager.all().extra(select={'field1':'field1'})
# I only want one field from this model
但是,当我对 q1 查询集进行 jsonify 时,我得到了模型的每个字段。所以 extra() 一定不起作用,还是我做错了什么?
print SafeString(serializers.serialize('json', q1))
>>> '{ everything!!!!!}'
更具体地说,我使用的自定义管理器是 django-sphinx。例如 Model.search.query(...)。
谢谢。