MCPcopy
hub / github.com/ormar-orm/ormar / rebuild_self

Method rebuild_self

ormar/queryset/queryset.py:103–149  ·  view source on GitHub ↗

Method that returns new instance of queryset based on passed params, all not passed params are taken from current values.

(  # noqa: CFQ002
        self,
        filter_clauses: Optional[list] = None,
        exclude_clauses: Optional[list] = None,
        select_related: Optional[list] = None,
        limit_count: Optional[int] = None,
        offset: Optional[int] = None,
        excludable: Optional["ExcludableItems"] = None,
        order_bys: Optional[list] = None,
        prefetch_related: Optional[list] = None,
        limit_raw_sql: Optional[bool] = None,
        proxy_source_model: Optional[type["Model"]] = None,
        reverse_result: Optional[bool] = None,
    )

Source from the content-addressed store, hash-verified

101 return self.model_cls
102
103 def rebuild_self( # noqa: CFQ002
104 self,
105 filter_clauses: Optional[list] = None,
106 exclude_clauses: Optional[list] = None,
107 select_related: Optional[list] = None,
108 limit_count: Optional[int] = None,
109 offset: Optional[int] = None,
110 excludable: Optional["ExcludableItems"] = None,
111 order_bys: Optional[list] = None,
112 prefetch_related: Optional[list] = None,
113 limit_raw_sql: Optional[bool] = None,
114 proxy_source_model: Optional[type["Model"]] = None,
115 reverse_result: Optional[bool] = None,
116 ) -> "QuerySet":
117 """
118 Method that returns new instance of queryset based on passed params,
119 all not passed params are taken from current values.
120 """
121 overwrites = {
122 "select_related": "_select_related",
123 "offset": "query_offset",
124 "excludable": "_excludable",
125 "prefetch_related": "_prefetch_related",
126 "limit_raw_sql": "limit_sql_raw",
127 "reverse_result": "_reverse_result",
128 }
129 passed_args = locals()
130
131 def replace_if_none(arg_name: str) -> Any:
132 if passed_args.get(arg_name) is None:
133 return getattr(self, overwrites.get(arg_name, arg_name))
134 return passed_args.get(arg_name)
135
136 return self.__class__(
137 model_cls=self.model_cls,
138 filter_clauses=replace_if_none("filter_clauses"),
139 exclude_clauses=replace_if_none("exclude_clauses"),
140 select_related=replace_if_none("select_related"),
141 limit_count=replace_if_none("limit_count"),
142 offset=replace_if_none("offset"),
143 excludable=replace_if_none("excludable"),
144 order_bys=replace_if_none("order_bys"),
145 prefetch_related=replace_if_none("prefetch_related"),
146 limit_raw_sql=replace_if_none("limit_raw_sql"),
147 proxy_source_model=replace_if_none("proxy_source_model"),
148 reverse_result=replace_if_none("reverse_result"),
149 )
150
151 async def _prefetch_related_models(
152 self, models: list["T"], rows: list

Callers 12

filterMethod · 0.95
select_relatedMethod · 0.95
select_allMethod · 0.95
prefetch_relatedMethod · 0.95
flatten_fieldsMethod · 0.95
fieldsMethod · 0.95
order_byMethod · 0.95
valuesMethod · 0.95
paginateMethod · 0.95
limitMethod · 0.95
offsetMethod · 0.95
__getitem__Method · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected