MCPcopy Create free account
hub / github.com/piccolo-orm/piccolo / default_querystrings

Method default_querystrings

piccolo/query/methods/update.py:89–118  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

87
88 @property
89 def default_querystrings(self) -> Sequence[QueryString]:
90 columns_str = ", ".join(
91 f'"{col._meta.db_column_name}" = {{}}'
92 for col, _ in self.values_delegate._values.items()
93 )
94
95 query = f"UPDATE {self.table._meta.get_formatted_tablename()} SET {columns_str}" # noqa: E501
96
97 querystring = QueryString(
98 query, *self.values_delegate.get_sql_values()
99 )
100
101 if self.where_delegate._where:
102 # The JOIN syntax isn't allowed in SQL UPDATE queries, so we need
103 # to write the WHERE clause differently, using a sub select.
104
105 querystring = QueryString(
106 "{} WHERE {}",
107 querystring,
108 self.where_delegate._where.querystring_for_update_and_delete,
109 )
110
111 if self.returning_delegate._returning:
112 querystring = QueryString(
113 "{}{}",
114 querystring,
115 self.returning_delegate._returning.querystring,
116 )
117
118 return [querystring]

Callers

nothing calls this directly

Calls 3

QueryStringClass · 0.90
get_sql_valuesMethod · 0.80

Tested by

no test coverage detected