MCPcopy Create free account
hub / github.com/tortoise/tortoise-orm / _get_generated_sql

Method _get_generated_sql

tortoise/contrib/postgres/fields.py:52–71  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

50 return f"TO_TSVECTOR({field_sql})"
51
52 def _get_generated_sql(self) -> str | None:
53 if not self.stored:
54 return None
55 parts: list[str] = []
56 for idx, field_name in enumerate(self.source_fields):
57 field = self.model._meta.fields_map.get(field_name)
58 if field is None:
59 raise ConfigurationError(f"Unknown source field '{field_name}'.")
60 if not field.has_db_field:
61 raise ConfigurationError(
62 f"Source field '{field_name}' does not map to a database column."
63 )
64 db_field = field.source_field or field.model_field_name
65 vector_sql = self._to_tsvector_sql(db_field)
66 if self.weights is not None:
67 weight = self._quote_sql_literal(self.weights[idx])
68 vector_sql = f"SETWEIGHT({vector_sql},{weight})"
69 parts.append(vector_sql)
70 expression = " || ".join(parts)
71 return f"GENERATED ALWAYS AS ({expression}) STORED"
72
73 def describe(self, serializable: bool) -> dict:
74 desc = super().describe(serializable)

Callers 1

GENERATED_SQLMethod · 0.80

Calls 4

_to_tsvector_sqlMethod · 0.95
_quote_sql_literalMethod · 0.95
ConfigurationErrorClass · 0.90
getMethod · 0.45

Tested by

no test coverage detected