| 1101 | 'index outside cqlengine.')) |
| 1102 | |
| 1103 | def _select_fields(self): |
| 1104 | if self._defer_fields or self._only_fields: |
| 1105 | fields = [columns.db_field_name for columns in self.model._columns.values()] |
| 1106 | if self._defer_fields: |
| 1107 | fields = [f for f in fields if f not in self._defer_fields] |
| 1108 | # select the partition keys if all model fields are set defer |
| 1109 | if not fields: |
| 1110 | fields = [columns.db_field_name for columns in self.model._partition_keys.values()] |
| 1111 | if self._only_fields: |
| 1112 | fields = [f for f in fields if f in self._only_fields] |
| 1113 | if not fields: |
| 1114 | raise QueryException('No fields in select query. Only fields: "{0}", defer fields: "{1}"'.format( |
| 1115 | ','.join(self._only_fields), ','.join(self._defer_fields))) |
| 1116 | return fields |
| 1117 | return super(ModelQuerySet, self)._select_fields() |
| 1118 | |
| 1119 | def _get_result_constructor(self): |
| 1120 | """ Returns a function that will be used to instantiate query results """ |