-
Notifications
You must be signed in to change notification settings - Fork 99
Closed
Description
The problem is similar #1111
def querystring_for_update_and_delete(self) -> QueryString:
args: list[Any] = []
if self.value != UNDEFINED:
args.append(self.value)
if self.values != UNDEFINED:
args.append(self.values_querystring)
column = self.column
if column._meta.call_chain:
# Use a sub select to find the correct ID.
root_column = column._meta.call_chain[0]
sub_query = root_column._meta.table.select(root_column).where(self)
# There must be something like `column_name = column._meta.call_chain[0]._meta.db_column_name or column._meta.call_chain[0]._meta.name`
column_name = column._meta.call_chain[0]._meta.db_column_name or column._meta.call_chain[0]._meta.name
return QueryString(
f"{column_name} IN ({{}})",
sub_query.querystrings[0],
)
else:
template = self.operator.template.format(
name=self.column.get_where_string(
engine_type=self.column._meta.engine_type
),
value="{}",
values="{}",
)
return QueryString(template, *args)Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels