(self, other: QueryModifier)
| 210 | return _and(self.where_criterion, self.having_criterion) |
| 211 | |
| 212 | def __or__(self, other: QueryModifier) -> QueryModifier: |
| 213 | where_criterion = having_criterion = None |
| 214 | if self.having_criterion or other.having_criterion: |
| 215 | having_criterion = _or(self._and_criterion(), other._and_criterion()) |
| 216 | else: |
| 217 | where_criterion = ( |
| 218 | (self.where_criterion | other.where_criterion) |
| 219 | if self.where_criterion and other.where_criterion |
| 220 | else (self.where_criterion or other.where_criterion) |
| 221 | ) |
| 222 | return self.__class__(where_criterion, self.joins + other.joins, having_criterion) |
| 223 | |
| 224 | def __invert__(self) -> QueryModifier: |
| 225 | where_criterion = having_criterion = None |
nothing calls this directly
no test coverage detected