from peewee import QueryCompiler, strip_parens, ForeignKeyField __all__ = [] def _parse_select_query(self, node, alias_map, conv): clone = node.clone() if not node._explicit_selection: if conv and isinstance(conv, ForeignKeyField): clone._select = (conv.to_field,) else: clone._select = clone.model_class._meta.get_primary_key_fields() sub, params = self.generate_select(clone, alias_map) return '(%s)' % strip_parens(sub), params QueryCompiler._parse_select_query = _parse_select_query