(self, value, can_reuse, allow_joins, summarize=False)
| 1320 | return sql, params |
| 1321 | |
| 1322 | def resolve_lookup_value(self, value, can_reuse, allow_joins, summarize=False): |
| 1323 | if hasattr(value, "resolve_expression"): |
| 1324 | value = value.resolve_expression( |
| 1325 | self, |
| 1326 | reuse=can_reuse, |
| 1327 | allow_joins=allow_joins, |
| 1328 | summarize=summarize, |
| 1329 | ) |
| 1330 | elif isinstance(value, (list, tuple)): |
| 1331 | # The items of the iterable may be expressions and therefore need |
| 1332 | # to be resolved independently. |
| 1333 | values = ( |
| 1334 | self.resolve_lookup_value(sub_value, can_reuse, allow_joins, summarize) |
| 1335 | for sub_value in value |
| 1336 | ) |
| 1337 | type_ = type(value) |
| 1338 | if hasattr(type_, "_make"): # namedtuple |
| 1339 | return type_(*values) |
| 1340 | return type_(values) |
| 1341 | return value |
| 1342 | |
| 1343 | def solve_lookup_type(self, lookup, summarize=False): |
| 1344 | """ |
no test coverage detected