| 3403 | self.mapper = self.query._entity_from_pre_ent_zero() |
| 3404 | |
| 3405 | def _validate_query_state(self) -> None: |
| 3406 | for attr, methname, notset, op in ( |
| 3407 | ("_limit_clause", "limit()", None, operator.is_), |
| 3408 | ("_offset_clause", "offset()", None, operator.is_), |
| 3409 | ("_order_by_clauses", "order_by()", (), operator.eq), |
| 3410 | ("_group_by_clauses", "group_by()", (), operator.eq), |
| 3411 | ("_distinct", "distinct()", False, operator.is_), |
| 3412 | ( |
| 3413 | "_from_obj", |
| 3414 | "join(), outerjoin(), select_from(), or from_self()", |
| 3415 | (), |
| 3416 | operator.eq, |
| 3417 | ), |
| 3418 | ( |
| 3419 | "_setup_joins", |
| 3420 | "join(), outerjoin(), select_from(), or from_self()", |
| 3421 | (), |
| 3422 | operator.eq, |
| 3423 | ), |
| 3424 | ): |
| 3425 | if not op(getattr(self.query, attr), notset): |
| 3426 | raise sa_exc.InvalidRequestError( |
| 3427 | "Can't call Query.update() or Query.delete() " |
| 3428 | "when %s has been called" % (methname,) |
| 3429 | ) |
| 3430 | |
| 3431 | @property |
| 3432 | def session(self) -> Session: |