(self)
| 324 | index.resolve_expressions(self._model) |
| 325 | |
| 326 | def finalise_fields(self) -> None: |
| 327 | self.db_fields = set(self.fields_db_projection.values()) |
| 328 | self.fields = set(self.fields_map.keys()) |
| 329 | self.fields_db_projection_reverse = { |
| 330 | value: key for key, value in self.fields_db_projection.items() |
| 331 | } |
| 332 | self.fetch_fields = ( |
| 333 | self.m2m_fields |
| 334 | | self.backward_fk_fields |
| 335 | | self.fk_fields |
| 336 | | self.backward_o2o_fields |
| 337 | | self.o2o_fields |
| 338 | ) |
| 339 | |
| 340 | generated_fields = [ |
| 341 | (field.source_field or field.model_field_name) |
| 342 | for field in self.fields_map.values() |
| 343 | if field.generated |
| 344 | ] |
| 345 | self.generated_db_fields = tuple(generated_fields) |
| 346 | |
| 347 | db_default_cols = [ |
| 348 | (field.source_field or field.model_field_name) |
| 349 | for field in self.fields_map.values() |
| 350 | if field.has_db_default() and not field.generated |
| 351 | ] |
| 352 | self.db_default_db_columns = tuple(db_default_cols) |
| 353 | |
| 354 | self._ordering_validated = True |
| 355 | for field_name, _ in self._default_ordering: |
| 356 | if field_name.split("__")[0] not in self.fields: |
| 357 | self._ordering_validated = False |
| 358 | break |
| 359 | |
| 360 | def _generate_lazy_fk_m2m_fields(self) -> None: |
| 361 | # Create lazy FK fields on model. |
no test coverage detected