Possible fix to PYTHON-785
This commit is contained in:
		| @@ -941,6 +941,8 @@ class AbstractQuerySet(object): | ||||
|                 "Can't resolve fields {0} in {1}".format( | ||||
|                     ', '.join(missing_fields), self.model.__name__)) | ||||
|  | ||||
|         fields = [self.model._columns[field].db_field_name for field in fields] | ||||
|  | ||||
|         if action == 'defer': | ||||
|             clone._defer_fields.update(fields) | ||||
|         elif action == 'only': | ||||
| @@ -1068,18 +1070,18 @@ class ModelQuerySet(AbstractQuerySet): | ||||
|  | ||||
|     def _select_fields(self): | ||||
|         if self._defer_fields or self._only_fields: | ||||
|             fields = self.model._columns.keys() | ||||
|             fields = [columns.db_field_name for columns in self.model._columns.values()] | ||||
|             if self._defer_fields: | ||||
|                 fields = [f for f in fields if f not in self._defer_fields] | ||||
|                 # select the partition keys if all model fields are set defer | ||||
|                 if not fields: | ||||
|                     fields = self.model._partition_keys | ||||
|                     fields = [columns.db_field_name for columns in self.model._partition_keys.values()] | ||||
|             if self._only_fields: | ||||
|                 fields = [f for f in fields if f in self._only_fields] | ||||
|             if not fields: | ||||
|                 raise QueryException('No fields in select query. Only fields: "{0}", defer fields: "{1}"'.format( | ||||
|                     ','.join(self._only_fields), ','.join(self._defer_fields))) | ||||
|             return [self.model._columns[f].db_field_name for f in fields] | ||||
|             return fields | ||||
|         return super(ModelQuerySet, self)._select_fields() | ||||
|  | ||||
|     def _get_result_constructor(self): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bjmb
					bjmb