Iterators QuerySet Method (#688)
* feat: add iterator function with sample docstring * feat: implement the iterator queryset method * feat: completed the docstring of iterator method * test: write test function to check iterator result * refactor: use iterate method instead fetch_all * fix: debuging syntax error in kwargs of iterator * feat: write a base sample doc for iterator method * refactor: add ouput comment iterator docs example * refactor: check change pk yield ormar model * test: write new test to coverage iterator queryset * fix: debuging new user model class 3 number * fix: iterate on user3 model class * fix: debug id field in user3 model by main user * fix: remove prefetch_related for iterator method * fix: debug mypy test for type annotation * fix: added type annotation for rows variable * simplify row checks as processing is expensive, raise exception on prefetch_related with iterator * fix coverage * fix mypy, bump mypy in pre-commit to newest version * refactor: update document and test uuid pk type * feat: write docs of iterate in quesrysetproxy * feat: write iterate method querysetproxy tests * fix: debuging new test written uuid pk * refactor: seperate iterate test modules * refactor: change description and handle empty set * feat: added iterate method in readme files * fix: set pragma: no cover for raised test Co-authored-by: collerek <collerek@gmail.com>
This commit is contained in:
@ -84,6 +84,23 @@ assert news_posts[0].author == guido
|
||||
!!!tip
|
||||
Read more in queries documentation [all][all]
|
||||
|
||||
### iterate
|
||||
|
||||
`iterate(**kwargs) -> AsyncGenerator["Model"]`
|
||||
|
||||
To iterate on related models use `iterate()` method.
|
||||
|
||||
Note that you can filter the queryset, select related, exclude fields etc. like in normal query.
|
||||
|
||||
```python
|
||||
# iterate on categories of this post with an async generator
|
||||
async for category in post.categories.iterate():
|
||||
print(category.name)
|
||||
```
|
||||
|
||||
!!!tip
|
||||
Read more in queries documentation [iterate][iterate]
|
||||
|
||||
## Insert/ update data into database
|
||||
|
||||
### create
|
||||
@ -294,6 +311,7 @@ Returns a bool value to confirm if there are rows matching the given criteria (a
|
||||
[queries]: ../queries/index.md
|
||||
[get]: ../queries/read.md#get
|
||||
[all]: ../queries/read.md#all
|
||||
[iterate]: ../queries/read.md#iterate
|
||||
[create]: ../queries/create.md#create
|
||||
[get_or_create]: ../queries/read.md#get_or_create
|
||||
[update_or_create]: ../queries/update.md#update_or_create
|
||||
|
||||
Reference in New Issue
Block a user