| 346 | ) |
| 347 | |
| 348 | def __init__(self, model: type[MODEL]) -> None: |
| 349 | super().__init__(model) |
| 350 | self.fields: set[str] = model._meta.db_fields |
| 351 | self._prefetch_map: dict[str, set[str | Prefetch]] = {} |
| 352 | self._prefetch_queries: dict[str, list[tuple[str | None, QuerySet]]] = {} |
| 353 | self._single: bool = False |
| 354 | self._raise_does_not_exist: bool = False |
| 355 | self._limit: int | None = None |
| 356 | self._offset: int | None = None |
| 357 | self._filter_kwargs: dict[str, Any] = {} |
| 358 | self._orderings: list[tuple[str, Any]] = [] |
| 359 | self._distinct: bool = False |
| 360 | self._having: dict[str, Any] = {} |
| 361 | self._fields_for_select: tuple[str, ...] = () |
| 362 | self._group_bys: tuple[str, ...] = () |
| 363 | self._select_for_update: bool = False |
| 364 | self._select_for_update_nowait: bool = False |
| 365 | self._select_for_update_skip_locked: bool = False |
| 366 | self._select_for_update_of: set[str] = set() |
| 367 | self._select_for_update_no_key: bool = False |
| 368 | self._select_related: set[str] = set() |
| 369 | self._select_related_idx: list[ |
| 370 | tuple[type[Model], int, Table | str, type[Model], Iterable[str | None]] |
| 371 | ] = [] # format with: model,idx,model_name,parent_model |
| 372 | self._force_indexes: set[str] = set() |
| 373 | self._use_indexes: set[str] = set() |
| 374 | |
| 375 | def _clone(self) -> QuerySet[MODEL]: |
| 376 | queryset = self.__class__.__new__(self.__class__) |