id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 22819,Rename attribute `output_type` on the Query Expression API,jorgecarleitao,Tim Graham,"Since the `output_type` used in the Query Expression API is becoming part of the Public API in the 1.7, I would like to propose to rename it before 1.7 is out. Here is why: `output_type` is a property of classes that follow the Query Expression API and is defined on any object that follows the Query Expression API as {{{ @property def output_type(self): return IntegerField() # example, it only requires to be a subclass of `Field` }}} However, {{{ print(type(IntegerField())) # print(type(IntegerField)) # }}} IMHO, `output_type` can be misleadingly interpreted as being a `type` rather than an `instance` of (a subclass of) a Field. I imagine it would be very easy to someone write {{{ @property def output_type(self): return CustomField }}} instead of {{{ @property def output_type(self): return CustomField() }}} Given that some types that comply with the Query Expression API already have the attribute `source` (Aggregate, Col, and GeoAggregate), one possibility would be use just `output`.",Cleanup/optimization,closed,"Database layer (models, ORM)",1.7-beta-2,Release blocker,fixed,,jorgecarleitao,Accepted,0,0,0,0,0,0