MCPcopy
hub / github.com/tortoise/tortoise-orm / finalise_fields

Method finalise_fields

tortoise/models.py:326–358  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

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.

Callers 3

add_fieldMethod · 0.95
finalise_modelMethod · 0.95
__new__Method · 0.80

Calls 4

keysMethod · 0.80
itemsMethod · 0.80
has_db_defaultMethod · 0.80
valuesMethod · 0.45

Tested by

no test coverage detected