text: Title: Test case `test_pagination_queries` is flaky
  Body: Two successive runs of the test suite resulted in failure and success without any changes to the code.
  
  The first failure was caused by AssertionError in `test_pagination_queries` :
  
  ```
  members = (Member(id=0, first_name='Andrew', last_name='Brookins', email='a@example.com', join_date=datetime.date(2023, 2, 11), ...com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.'))
  m = Models(BaseHashModel=<class 'tests_sync.test_hash_model.m.<locals>.BaseHashModel'>, Order=<class 'tests_sync.test_hash_model.m.<locals>.Order'>, Member=<class 'tests_sync.test_hash_model.m.<locals>.Member'>)
  
      @py_test_mark_sync
      def test_pagination_queries(members, m):
          member1, member2, member3 = members
  
          actual = m.Member.find(m.Member.last_name == "Brookins").page()
  
          assert actual == [member1, member2]
  
          actual = m.Member.find().page(1, 1)
  
  >       assert actual == [member2]
  E       AssertionError: assert [Member(id=2, first_name='Andrew', last_name='Smith', email='as@example.com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.')] == [Member(id=1, first_name='Kim', last_name='Brookins', email='k@example.com', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')]
  E         At index 0 diff: Member(id=2, first_name='Andrew', last_name='Smith', email='as@example.com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.') != Member(id=1, first_name='Kim', last_name='Brookins', email='k@example.com', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')
  E         Full diff:
  E         - [Member(id=1, first_name='Kim', last_name='Brookins', email='k@example.com', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')]
  E         + [Member(id=2, first_name='Andrew', last_name='Smith', email='as@example.com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.')]
  
  tests_sync/test_hash_model.py:187: AssertionError
  ```
  
  ---
  
  Attached is a full log showing the first failure and immediate re-run resulting in success.
  
  <details>
  <summary>Full console output</summary>
  
  ```
  ~/Repositories/redis-om-python fix-model-typings* 9s
  redis-om-DEJACET3-py3.10 ❯ make test
  /opt/homebrew/bin/poetry install
  Installing dependencies from lock file
  
  No dependencies to install or update
  
  Installing the current project: redis-om (0.1.2)
  touch .install.stamp
  /opt/homebrew/bin/poetry run python make_sync.py
  docker-compose up -d
  [+] Running 7/7
   ⠿ oss_redis Pulled                                                                                                                                                            3.6s
     ⠿ 5731adb3a4ab Already exists                                                                                                                                               0.0s
     ⠿ e78ad00da4bd Pull complete                                                                                                                                                0.6s
     ⠿ acf81d284940 Pull complete                                                                                                                                                0.8s
     ⠿ c19f7ed7779d Pull complete                                                                                                                                                1.5s
     ⠿ 9df49c3f82f2 Pull complete                                                                                                                                                1.5s
     ⠿ cf4fe2915070 Pull complete                                                                                                                                                1.5s
  [+] Running 3/3
   ⠿ Network redis-om-python_default        Created                                                                                                                              0.0s
   ⠿ Container redis-om-python-oss_redis-1  Started                                                                                                                              0.4s
   ⠿ Container redis-om-python-redis-1      Started                                                                                                                              0.5s
  REDIS_OM_URL=""redis://localhost:6380?decode_responses=True"" /opt/homebrew/bin/poetry run pytest -n auto -vv ./tests/ ./tests_sync/ --cov-report term-missing --cov aredis_om redis_om
  =============================================================================== test session starts ================================================================================
  platform darwin -- Python 3.10.8, pytest-7.2.1, pluggy-1.0.0 -- /Users/marian/Library/Caches/pypoetry/virtualenvs/redis-om-DEJACET3-py3.10/bin/python
  cachedir: .pytest_cache
  rootdir: /Users/marian/Repositories/redis-om-python, configfile: pytest.ini
  plugins: xdist-3.2.0, asyncio-0.20.3, cov-4.0.0
  asyncio: mode=strict
  [gw0] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw1] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw2] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw3] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw4] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw5] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw6] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw7] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw0] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw1] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw2] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw3] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw4] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw5] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw6] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw7] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  gw0 [152] / gw1 [152] / gw2 [152] / gw3 [152] / gw4 [152] / gw5 [152] / gw6 [152] / gw7 [152]
  scheduling tests via LoadScheduling
  
  tests/test_hash_model.py::test_recursive_query_resolution
  tests/test_hash_model.py::test_numeric_queries
  tests/test_hash_model.py::test_validation_passes
  tests/test_hash_model.py::test_raises_error_with_dicts
  tests/test_hash_model.py::test_delete
  tests/test_hash_model.py::test_access_result_by_index_not_cached
  tests/test_hash_model.py::test_delete_many
  tests/test_hash_model.py::test_exact_match_queries
  [gw3] [  0%] PASSED tests/test_hash_model.py::test_validation_passes
  [gw5] [  1%] PASSED tests/test_hash_model.py::test_raises_error_with_dicts
  tests/test_hash_model.py::test_retrieve_first
  tests/test_hash_model.py::test_raises_error_with_sets
  [gw4] [  1%] PASSED tests/test_hash_model.py::test_delete
  tests/test_hash_model.py::test_expire
  [gw1] [  2%] PASSED tests/test_hash_model.py::test_recursive_query_resolution
  [gw6] [  3%] PASSED tests/test_hash_model.py::test_delete_many
  tests/test_hash_model.py::test_updates_a_model
  tests/test_hash_model.py::test_tag_queries_boolean_logic
  [gw5] [  3%] PASSED tests/test_hash_model.py::test_raises_error_with_sets
  [gw7] [  4%] PASSED tests/test_hash_model.py::test_access_result_by_index_not_cached
  tests/test_hash_model.py::test_raises_error_with_lists
  tests/test_hash_model.py::test_schema
  [gw2] [  5%] PASSED tests/test_hash_model.py::test_numeric_queries
  tests/test_hash_model.py::test_sorting
  [gw0] [  5%] PASSED tests/test_hash_model.py::test_exact_match_queries
  tests/test_hash_model.py::test_delete_non_exist
  [gw3] [  6%] PASSED tests/test_hash_model.py::test_retrieve_first
  tests/test_hash_model.py::test_saves_model_and_creates_pk
  [gw4] [  7%] PASSED tests/test_hash_model.py::test_expire
  tests/test_hash_model.py::test_raises_error_with_embedded_models
  [gw1] [  7%] PASSED tests/test_hash_model.py::test_tag_queries_boolean_logic
  tests/test_hash_model.py::test_tag_queries_punctuation
  [gw5] [  8%] PASSED tests/test_hash_model.py::test_raises_error_with_lists
  [gw7] [  9%] PASSED tests/test_hash_model.py::test_schema
  tests/test_hash_model.py::test_saves_many
  tests/test_hash_model.py::test_primary_key_model_error
  [gw6] [  9%] PASSED tests/test_hash_model.py::test_updates_a_model
  tests/test_hash_model.py::test_paginate_query
  [gw3] [ 10%] PASSED tests/test_hash_model.py::test_saves_model_and_creates_pk
  tests/test_hash_model.py::test_all_pks
  [gw4] [ 11%] PASSED tests/test_hash_model.py::test_raises_error_with_embedded_models
  tests/test_hash_model.py::test_raises_error_with_dataclasses
  [gw2] [ 11%] PASSED tests/test_hash_model.py::test_sorting
  tests/test_hash_model.py::test_validates_required_fields
  [gw0] [ 12%] PASSED tests/test_hash_model.py::test_delete_non_exist
  [gw5] [ 13%] PASSED tests/test_hash_model.py::test_saves_many
  tests/test_hash_model.py::test_count
  tests/test_hash_model.py::test_full_text_search_queries
  [gw1] [ 13%] PASSED tests/test_hash_model.py::test_tag_queries_punctuation
  tests/test_hash_model.py::test_tag_queries_negation
  [gw6] [ 14%] PASSED tests/test_hash_model.py::test_paginate_query
  [gw2] [ 15%] PASSED tests/test_hash_model.py::test_validates_required_fields
  tests/test_hash_model.py::test_access_result_by_index_cached
  tests/test_hash_model.py::test_validates_field
  [gw4] [ 15%] PASSED tests/test_hash_model.py::test_raises_error_with_dataclasses
  tests/test_json_model.py::test_updates_a_model
  [gw7] [ 16%] PASSED tests/test_hash_model.py::test_primary_key_model_error
  tests/test_hash_model.py::test_primary_pk_exists
  [gw3] [ 17%] PASSED tests/test_hash_model.py::test_all_pks
  [gw0] [ 17%] PASSED tests/test_hash_model.py::test_full_text_search_queries
  tests/test_json_model.py::test_all_pks
  tests/test_hash_model.py::test_pagination_queries
  [gw5] [ 18%] PASSED tests/test_hash_model.py::test_count
  tests/test_json_model.py::test_validates_required_fields
  [gw2] [ 19%] PASSED tests/test_hash_model.py::test_validates_field
  tests/test_json_model.py::test_list_field_limitations
  [gw1] [ 19%] PASSED tests/test_hash_model.py::test_tag_queries_negation
  tests/test_json_model.py::test_in_query
  [gw6] [ 20%] PASSED tests/test_hash_model.py::test_access_result_by_index_cached
  tests/test_json_model.py::test_tag_queries_negation
  [gw0] [ 21%] PASSED tests/test_hash_model.py::test_pagination_queries
  tests/test_json_model.py::test_allows_and_serializes_lists
  [gw5] [ 21%] PASSED tests/test_json_model.py::test_validates_required_fields
  tests/test_json_model.py::test_validates_field
  [gw4] [ 22%] PASSED tests/test_json_model.py::test_updates_a_model
  tests/test_json_model.py::test_paginate_query
  [gw1] [ 23%] PASSED tests/test_json_model.py::test_in_query
  tests/test_json_model.py::test_update_query
  [gw7] [ 23%] PASSED tests/test_hash_model.py::test_primary_pk_exists
  tests/test_json_model.py::test_recursive_query_field_resolution
  [gw5] [ 24%] PASSED tests/test_json_model.py::test_validates_field
  [gw6] [ 25%] PASSED tests/test_json_model.py::test_tag_queries_negation
  tests/test_json_model.py::test_validation_passes
  tests/test_json_model.py::test_numeric_queries
  [gw2] [ 25%] PASSED tests/test_json_model.py::test_list_field_limitations
  tests/test_json_model.py::test_allows_dataclasses
  [gw3] [ 26%] PASSED tests/test_json_model.py::test_all_pks
  tests/test_json_model.py::test_delete
  [gw0] [ 26%] PASSED tests/test_json_model.py::test_allows_and_serializes_lists
  tests/test_json_model.py::test_schema
  [gw4] [ 27%] PASSED tests/test_json_model.py::test_paginate_query
  [gw5] [ 28%] PASSED tests/test_json_model.py::test_validation_passes
  tests/test_json_model.py::test_access_result_by_index_cached
  tests/test_json_model.py::test_saves_model_and_creates_pk
  [gw1] [ 28%] PASSED tests/test_json_model.py::test_update_query
  tests/test_json_model.py::test_exact_match_queries
  [gw3] [ 29%] PASSED tests/test_json_model.py::test_delete
  tests/test_json_model.py::test_saves_many_implicit_pipeline
  [gw2] [ 30%] PASSED tests/test_json_model.py::test_allows_dataclasses
  tests/test_json_model.py::test_allows_and_serializes_dicts
  [gw0] [ 30%] PASSED tests/test_json_model.py::test_schema
  tests/test_json_model.py::test_count
  [gw6] [ 31%] PASSED tests/test_json_model.py::test_numeric_queries
  tests/test_json_model.py::test_sorting
  [gw3] [ 32%] PASSED tests/test_json_model.py::test_saves_many_implicit_pipeline
  tests/test_json_model.py::test_saves_many_explicit_transaction
  [gw4] [ 32%] PASSED tests/test_json_model.py::test_access_result_by_index_cached
  [gw7] [ 33%] PASSED tests/test_json_model.py::test_recursive_query_field_resolution
  tests/test_json_model.py::test_access_result_by_index_not_cached
  [gw5] [ 34%] PASSED tests/test_json_model.py::test_saves_model_and_creates_pk
  tests/test_json_model.py::test_full_text_search
  tests/test_oss_redis_features.py::test_not_found
  [gw1] [ 34%] PASSED tests/test_json_model.py::test_exact_match_queries
  tests/test_json_model.py::test_recursive_query_expression_resolution
  [gw2] [ 35%] PASSED tests/test_json_model.py::test_allows_and_serializes_dicts
  [gw6] [ 36%] PASSED tests/test_json_model.py::test_sorting
  tests/test_json_model.py::test_allows_and_serializes_sets
  tests/test_json_model.py::test_not_found
  [gw0] [ 36%] PASSED tests/test_json_model.py::test_count
  tests/test_oss_redis_features.py::test_all_keys
  [gw3] [ 37%] PASSED tests/test_json_model.py::test_saves_many_explicit_transaction
  tests/test_json_model.py::test_delete_many_implicit_pipeline
  [gw5] [ 38%] PASSED tests/test_oss_redis_features.py::test_not_found
  tests/test_oss_redis_features.py::test_validates_required_fields
  [gw6] [ 38%] PASSED tests/test_json_model.py::test_not_found
  tests_sync/test_hash_model.py::test_recursive_query_resolution
  [gw1] [ 39%] PASSED tests/test_json_model.py::test_recursive_query_expression_resolution
  [gw4] [ 40%] PASSED tests/test_json_model.py::test_access_result_by_index_not_cached
  tests/test_pydantic_integrations.py::test_email_str
  tests/test_oss_redis_features.py::test_saves_model_and_creates_pk
  [gw2] [ 40%] PASSED tests/test_json_model.py::test_allows_and_serializes_sets
  tests_sync/test_hash_model.py::test_delete_non_exist
  [gw7] [ 41%] PASSED tests/test_json_model.py::test_full_text_search
  tests/test_json_model.py::test_tag_queries_boolean_logic
  [gw3] [ 42%] PASSED tests/test_json_model.py::test_delete_many_implicit_pipeline
  tests_sync/test_hash_model.py::test_validates_required_fields
  [gw5] [ 42%] PASSED tests/test_oss_redis_features.py::test_validates_required_fields
  tests/test_oss_redis_features.py::test_validates_field
  [gw6] [ 43%] PASSED tests_sync/test_hash_model.py::test_recursive_query_resolution
  tests_sync/test_hash_model.py::test_tag_queries_boolean_logic
  [gw4] [ 44%] PASSED tests/test_oss_redis_features.py::test_saves_model_and_creates_pk
  tests/test_oss_redis_features.py::test_raises_error_with_embedded_models
  [gw3] [ 44%] PASSED tests_sync/test_hash_model.py::test_validates_required_fields
  tests_sync/test_hash_model.py::test_validates_field
  [gw2] [ 45%] PASSED tests_sync/test_hash_model.py::test_delete_non_exist
  tests_sync/test_hash_model.py::test_full_text_search_queries
  [gw1] [ 46%] PASSED tests/test_pydantic_integrations.py::test_email_str
  tests/test_redis_type.py::test_redis_type
  [gw1] [ 46%] PASSED tests/test_redis_type.py::test_redis_type
  tests_sync/test_hash_model.py::test_exact_match_queries
  [gw0] [ 47%] PASSED tests/test_oss_redis_features.py::test_all_keys
  [gw6] [ 48%] PASSED tests_sync/test_hash_model.py::test_tag_queries_boolean_logic
  tests_sync/test_hash_model.py::test_tag_queries_negation
  tests_sync/test_hash_model.py::test_tag_queries_punctuation
  [gw5] [ 48%] PASSED tests/test_oss_redis_features.py::test_validates_field
  tests/test_oss_redis_features.py::test_validation_passes
  [gw7] [ 49%] PASSED tests/test_json_model.py::test_tag_queries_boolean_logic
  tests/test_json_model.py::test_tag_queries_punctuation
  [gw3] [ 50%] PASSED tests_sync/test_hash_model.py::test_validates_field
  tests_sync/test_hash_model.py::test_validation_passes
  [gw2] [ 50%] PASSED tests_sync/test_hash_model.py::test_full_text_search_queries
  tests_sync/test_hash_model.py::test_pagination_queries
  [gw4] [ 51%] PASSED tests/test_oss_redis_features.py::test_raises_error_with_embedded_models
  tests/test_oss_redis_features.py::test_saves_many
  [gw3] [ 51%] PASSED tests_sync/test_hash_model.py::test_validation_passes
  tests_sync/test_hash_model.py::test_raises_error_with_sets
  [gw6] [ 52%] PASSED tests_sync/test_hash_model.py::test_tag_queries_punctuation
  tests_sync/test_hash_model.py::test_all_pks
  [gw5] [ 53%] PASSED tests/test_oss_redis_features.py::test_validation_passes
  tests_sync/test_hash_model.py::test_expire
  [gw0] [ 53%] PASSED tests_sync/test_hash_model.py::test_tag_queries_negation
  tests_sync/test_hash_model.py::test_numeric_queries
  [gw1] [ 54%] PASSED tests_sync/test_hash_model.py::test_exact_match_queries
  tests_sync/test_hash_model.py::test_retrieve_first
  [gw3] [ 55%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_sets
  tests_sync/test_hash_model.py::test_raises_error_with_lists
  [gw7] [ 55%] PASSED tests/test_json_model.py::test_tag_queries_punctuation
  tests_sync/test_hash_model.py::test_raises_error_with_dataclasses
  [gw5] [ 56%] PASSED tests_sync/test_hash_model.py::test_expire
  tests_sync/test_hash_model.py::test_raises_error_with_embedded_models
  [gw3] [ 57%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_lists
  tests_sync/test_hash_model.py::test_updates_a_model
  [gw2] [ 57%] FAILED tests_sync/test_hash_model.py::test_pagination_queries
  tests_sync/test_hash_model.py::test_saves_many
  [gw1] [ 58%] PASSED tests_sync/test_hash_model.py::test_retrieve_first
  tests_sync/test_hash_model.py::test_saves_model_and_creates_pk
  [gw4] [ 59%] PASSED tests/test_oss_redis_features.py::test_saves_many
  tests/test_oss_redis_features.py::test_updates_a_model
  [gw0] [ 59%] PASSED tests_sync/test_hash_model.py::test_numeric_queries
  tests_sync/test_hash_model.py::test_sorting
  [gw5] [ 60%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_embedded_models
  tests_sync/test_hash_model.py::test_access_result_by_index_cached
  [gw7] [ 61%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_dataclasses
  tests_sync/test_hash_model.py::test_raises_error_with_dicts
  [gw2] [ 61%] PASSED tests_sync/test_hash_model.py::test_saves_many
  tests_sync/test_hash_model.py::test_delete_many
  [gw3] [ 62%] PASSED tests_sync/test_hash_model.py::test_updates_a_model
  [gw1] [ 63%] PASSED tests_sync/test_hash_model.py::test_saves_model_and_creates_pk
  tests_sync/test_hash_model.py::test_paginate_query
  tests_sync/test_hash_model.py::test_schema
  [gw6] [ 63%] PASSED tests_sync/test_hash_model.py::test_all_pks
  tests_sync/test_hash_model.py::test_delete
  [gw7] [ 64%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_dicts
  tests_sync/test_hash_model.py::test_count
  [gw0] [ 65%] PASSED tests_sync/test_hash_model.py::test_sorting
  tests_sync/test_hash_model.py::test_primary_pk_exists
  [gw2] [ 65%] PASSED tests_sync/test_hash_model.py::test_delete_many
  [gw1] [ 66%] PASSED tests_sync/test_hash_model.py::test_schema
  tests_sync/test_json_model.py::test_validates_required_fields
  tests_sync/test_json_model.py::test_validation_passes
  [gw5] [ 67%] PASSED tests_sync/test_hash_model.py::test_access_result_by_index_cached
  tests_sync/test_hash_model.py::test_access_result_by_index_not_cached
  [gw6] [ 67%] PASSED tests_sync/test_hash_model.py::test_delete
  [gw4] [ 68%] PASSED tests/test_oss_redis_features.py::test_updates_a_model
  tests_sync/test_json_model.py::test_saves_model_and_creates_pk
  tests_sync/test_hash_model.py::test_primary_key_model_error
  [gw3] [ 69%] PASSED tests_sync/test_hash_model.py::test_paginate_query
  tests_sync/test_json_model.py::test_validates_field
  [gw7] [ 69%] PASSED tests_sync/test_hash_model.py::test_count
  tests_sync/test_json_model.py::test_all_pks
  [gw2] [ 70%] PASSED tests_sync/test_json_model.py::test_validates_required_fields
  [gw1] [ 71%] PASSED tests_sync/test_json_model.py::test_validation_passes
  tests_sync/test_json_model.py::test_saves_many_implicit_pipeline
  tests_sync/test_json_model.py::test_saves_many_explicit_transaction
  [gw0] [ 71%] PASSED tests_sync/test_hash_model.py::test_primary_pk_exists
  tests_sync/test_json_model.py::test_delete
  [gw3] [ 72%] PASSED tests_sync/test_json_model.py::test_validates_field
  [gw5] [ 73%] PASSED tests_sync/test_hash_model.py::test_access_result_by_index_not_cached
  tests_sync/test_json_model.py::test_access_result_by_index_cached
  tests_sync/test_json_model.py::test_delete_many_implicit_pipeline
  [gw6] [ 73%] PASSED tests_sync/test_json_model.py::test_saves_model_and_creates_pk
  tests_sync/test_json_model.py::test_updates_a_model
  [gw4] [ 74%] PASSED tests_sync/test_hash_model.py::test_primary_key_model_error
  tests_sync/test_json_model.py::test_paginate_query
  [gw2] [ 75%] PASSED tests_sync/test_json_model.py::test_saves_many_implicit_pipeline
  tests_sync/test_json_model.py::test_in_query
  [gw1] [ 75%] PASSED tests_sync/test_json_model.py::test_saves_many_explicit_transaction
  tests_sync/test_json_model.py::test_update_query
  [gw3] [ 76%] PASSED tests_sync/test_json_model.py::test_access_result_by_index_cached
  [gw0] [ 76%] PASSED tests_sync/test_json_model.py::test_delete
  tests_sync/test_json_model.py::test_recursive_query_expression_resolution
  tests_sync/test_json_model.py::test_exact_match_queries
  [gw5] [ 77%] PASSED tests_sync/test_json_model.py::test_delete_many_implicit_pipeline
  tests_sync/test_json_model.py::test_recursive_query_field_resolution
  [gw2] [ 78%] PASSED tests_sync/test_json_model.py::test_in_query
  tests_sync/test_json_model.py::test_tag_queries_punctuation
  [gw4] [ 78%] PASSED tests_sync/test_json_model.py::test_paginate_query
  tests_sync/test_json_model.py::test_tag_queries_boolean_logic
  [gw6] [ 79%] PASSED tests_sync/test_json_model.py::test_updates_a_model
  tests_sync/test_json_model.py::test_full_text_search
  [gw1] [ 80%] PASSED tests_sync/test_json_model.py::test_update_query
  [gw3] [ 80%] PASSED tests_sync/test_json_model.py::test_recursive_query_expression_resolution
  tests_sync/test_json_model.py::test_tag_queries_negation
  tests_sync/test_json_model.py::test_numeric_queries
  [gw7] [ 81%] PASSED tests_sync/test_json_model.py::test_all_pks
  tests_sync/test_json_model.py::test_access_result_by_index_not_cached
  [gw2] [ 82%] PASSED tests_sync/test_json_model.py::test_tag_queries_punctuation
  tests_sync/test_json_model.py::test_list_field_limitations
  [gw5] [ 82%] PASSED tests_sync/test_json_model.py::test_recursive_query_field_resolution
  tests_sync/test_json_model.py::test_not_found
  [gw0] [ 83%] PASSED tests_sync/test_json_model.py::test_exact_match_queries
  tests_sync/test_json_model.py::test_sorting
  [gw6] [ 84%] PASSED tests_sync/test_json_model.py::test_full_text_search
  [gw4] [ 84%] PASSED tests_sync/test_json_model.py::test_tag_queries_boolean_logic
  tests_sync/test_json_model.py::test_allows_and_serializes_dicts
  tests_sync/test_json_model.py::test_allows_dataclasses
  [gw1] [ 85%] PASSED tests_sync/test_json_model.py::test_tag_queries_negation
  tests_sync/test_json_model.py::test_allows_and_serializes_sets
  [gw3] [ 86%] PASSED tests_sync/test_json_model.py::test_numeric_queries
  tests_sync/test_json_model.py::test_allows_and_serializes_lists
  [gw5] [ 86%] PASSED tests_sync/test_json_model.py::test_not_found
  tests_sync/test_oss_redis_features.py::test_all_keys
  [gw7] [ 87%] PASSED tests_sync/test_json_model.py::test_access_result_by_index_not_cached
  tests_sync/test_json_model.py::test_schema
  [gw6] [ 88%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_dicts
  tests_sync/test_oss_redis_features.py::test_validates_required_fields
  [gw0] [ 88%] PASSED tests_sync/test_json_model.py::test_sorting
  tests_sync/test_oss_redis_features.py::test_not_found
  [gw4] [ 89%] PASSED tests_sync/test_json_model.py::test_allows_dataclasses
  [gw2] [ 90%] PASSED tests_sync/test_json_model.py::test_list_field_limitations
  tests_sync/test_oss_redis_features.py::test_validates_field
  tests_sync/test_json_model.py::test_count
  [gw1] [ 90%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_sets
  [gw3] [ 91%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_lists
  tests_sync/test_oss_redis_features.py::test_validation_passes
  tests_sync/test_oss_redis_features.py::test_saves_model_and_creates_pk
  [gw7] [ 92%] PASSED tests_sync/test_json_model.py::test_schema
  tests_sync/test_oss_redis_features.py::test_saves_many
  [gw6] [ 92%] PASSED tests_sync/test_oss_redis_features.py::test_validates_required_fields
  [gw0] [ 93%] PASSED tests_sync/test_oss_redis_features.py::test_not_found
  tests_sync/test_oss_redis_features.py::test_updates_a_model
  [gw2] [ 94%] PASSED tests_sync/test_json_model.py::test_count
  tests_sync/test_pydantic_integrations.py::test_email_str
  [gw4] [ 94%] PASSED tests_sync/test_oss_redis_features.py::test_validates_field
  tests_sync/test_redis_type.py::test_redis_type
  [gw4] [ 95%] PASSED tests_sync/test_redis_type.py::test_redis_type
  [gw3] [ 96%] PASSED tests_sync/test_oss_redis_features.py::test_saves_model_and_creates_pk
  [gw1] [ 96%] PASSED tests_sync/test_oss_redis_features.py::test_validation_passes
  [gw7] [ 97%] PASSED tests_sync/test_oss_redis_features.py::test_saves_many
  [gw6] [ 98%] PASSED tests_sync/test_oss_redis_features.py::test_updates_a_model
  [gw5] [ 98%] PASSED tests_sync/test_oss_redis_features.py::test_all_keys
  tests_sync/test_oss_redis_features.py::test_raises_error_with_embedded_models
  [gw0] [ 99%] PASSED tests_sync/test_pydantic_integrations.py::test_email_str
  [gw5] [100%] PASSED tests_sync/test_oss_redis_features.py::test_raises_error_with_embedded_models
  
  ===================================================================================== FAILURES =====================================================================================
  _____________________________________________________________________________ test_pagination_queries ______________________________________________________________________________
  [gw2] darwin -- Python 3.10.8 /Users/marian/Library/Caches/pypoetry/virtualenvs/redis-om-DEJACET3-py3.10/bin/python
  
  members = (Member(id=0, first_name='Andrew', last_name='Brookins', email='a@example.com', join_date=datetime.date(2023, 2, 11), ...com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.'))
  m = Models(BaseHashModel=<class 'tests_sync.test_hash_model.m.<locals>.BaseHashModel'>, Order=<class 'tests_sync.test_hash_model.m.<locals>.Order'>, Member=<class 'tests_sync.test_hash_model.m.<locals>.Member'>)
  
      @py_test_mark_sync
      def test_pagination_queries(members, m):
          member1, member2, member3 = members
  
          actual = m.Member.find(m.Member.last_name == "Brookins").page()
  
          assert actual == [member1, member2]
  
          actual = m.Member.find().page(1, 1)
  
  >       assert actual == [member2]
  E       AssertionError: assert [Member(id=2, first_name='Andrew', last_name='Smith', email='as@example.com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.')] == [Member(id=1, first_name='Kim', last_name='Brookins', email='k@example.com', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')]
  E         At index 0 diff: Member(id=2, first_name='Andrew', last_name='Smith', email='as@example.com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.') != Member(id=1, first_name='Kim', last_name='Brookins', email='k@example.com', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')
  E         Full diff:
  E         - [Member(id=1, first_name='Kim', last_name='Brookins', email='k@example.com', join_date=datetime.date(2023, 2, 11), age=34, bio='This is member 2 who can be quite anxious until you get to know them.')]
  E         + [Member(id=2, first_name='Andrew', last_name='Smith', email='as@example.com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who is a funny and lively sort of person.')]
  
  tests_sync/test_hash_model.py:187: AssertionError
  
  ---------- coverage: platform darwin, python 3.10.8-final-0 ----------
  Name                                     Stmts   Miss  Cover   Missing
  ----------------------------------------------------------------------
  aredis_om/__init__.py                        5      0   100%
  aredis_om/async_redis.py                     1      0   100%
  aredis_om/checks.py                         21     12    43%   9-10, 15-18, 23-28
  aredis_om/connections.py                    10      1    90%   20
  aredis_om/model/__init__.py                  2      0   100%
  aredis_om/model/cli/__init__.py              0      0   100%
  aredis_om/model/cli/migrate.py              13     13     0%   1-18
  aredis_om/model/encoders.py                 72     35    51%   68, 70, 73-86, 94, 96, 98, 132-147, 150-155, 159-173
  aredis_om/model/migrations/__init__.py       0      0   100%
  aredis_om/model/migrations/migrator.py      87     15    83%   24-35, 45, 56, 83-84, 89-90, 101, 112-114
  aredis_om/model/model.py                   888    115    87%   100, 111, 128, 136, 145-152, 166, 185, 193, 199, 203, 207, 211-214, 218, 241, 245, 297, 305, 352, 394, 401, 419, 446, 474, 499, 502-508, 527, 529, 533, 561-571, 592-595, 606, 653, 667-672, 685, 699, 701, 703, 705, 768, 787, 823-828, 844-854, 904, 927-928, 1072, 1135, 1157, 1161, 1166, 1190, 1221-1224, 1232, 1308, 1314, 1374-1382, 1396, 1436-1445, 1449, 1464-1472, 1483-1493, 1506, 1606-1607, 1634-1637, 1721, 1725-1729
  aredis_om/model/query_resolver.py           23     23     0%   1-103
  aredis_om/model/render_tree.py              33     31     6%   24-75
  aredis_om/model/token_escaper.py            13      1    92%   16
  aredis_om/sync_redis.py                      1      1     0%   1
  aredis_om/util.py                            6      1    83%   7
  ----------------------------------------------------------------------
  TOTAL                                     1175    248    79%
  
  ============================================================================= short test summary info ==============================================================================
  FAILED tests_sync/test_hash_model.py::test_pagination_queries - AssertionError: assert [Member(id=2, first_name='Andrew', last_name='Smith', email='as@example.com', join_date=datetime.date(2023, 2, 11), age=100, bio='This is member 3 who i...
  ========================================================================== 1 failed, 151 passed in 1.54s ===========================================================================
  make: *** [test] Error 1
  
  ~/Repositories/redis-om-python fix-model-typings* 8s
  redis-om-DEJACET3-py3.10 ❯ make test
  /opt/homebrew/bin/poetry run python make_sync.py
  docker-compose up -d
  [+] Running 2/2
   ⠿ Container redis-om-python-oss_redis-1  Started                                                                                                                              0.5s
   ⠿ Container redis-om-python-redis-1      Running                                                                                                                              0.0s
  REDIS_OM_URL=""redis://localhost:6380?decode_responses=True"" /opt/homebrew/bin/poetry run pytest -n auto -vv ./tests/ ./tests_sync/ --cov-report term-missing --cov aredis_om redis_om
  =============================================================================== test session starts ================================================================================
  platform darwin -- Python 3.10.8, pytest-7.2.1, pluggy-1.0.0 -- /Users/marian/Library/Caches/pypoetry/virtualenvs/redis-om-DEJACET3-py3.10/bin/python
  cachedir: .pytest_cache
  rootdir: /Users/marian/Repositories/redis-om-python, configfile: pytest.ini
  plugins: xdist-3.2.0, asyncio-0.20.3, cov-4.0.0
  asyncio: mode=strict
  [gw0] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw1] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw2] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw3] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw4] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw5] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw6] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw7] darwin Python 3.10.8 cwd: /Users/marian/Repositories/redis-om-python
  [gw0] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw1] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw2] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw3] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw4] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw5] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw6] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  [gw7] Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
  gw0 [152] / gw1 [152] / gw2 [152] / gw3 [152] / gw4 [152] / gw5 [152] / gw6 [152] / gw7 [152]
  scheduling tests via LoadScheduling
  
  tests/test_hash_model.py::test_exact_match_queries
  tests/test_hash_model.py::test_numeric_queries
  tests/test_hash_model.py::test_delete
  tests/test_hash_model.py::test_validation_passes
  tests/test_hash_model.py::test_access_result_by_index_not_cached
  tests/test_hash_model.py::test_recursive_query_resolution
  tests/test_hash_model.py::test_delete_many
  tests/test_hash_model.py::test_raises_error_with_dicts
  [gw5] [  0%] PASSED tests/test_hash_model.py::test_raises_error_with_dicts
  [gw3] [  1%] PASSED tests/test_hash_model.py::test_validation_passes
  tests/test_hash_model.py::test_retrieve_first
  tests/test_hash_model.py::test_raises_error_with_sets
  [gw4] [  1%] PASSED tests/test_hash_model.py::test_delete
  tests/test_hash_model.py::test_expire
  [gw6] [  2%] PASSED tests/test_hash_model.py::test_delete_many
  tests/test_hash_model.py::test_updates_a_model
  [gw1] [  3%] PASSED tests/test_hash_model.py::test_recursive_query_resolution
  tests/test_hash_model.py::test_tag_queries_boolean_logic
  [gw0] [  3%] PASSED tests/test_hash_model.py::test_exact_match_queries
  tests/test_hash_model.py::test_delete_non_exist
  [gw5] [  4%] PASSED tests/test_hash_model.py::test_raises_error_with_sets
  tests/test_hash_model.py::test_raises_error_with_lists
  [gw2] [  5%] PASSED tests/test_hash_model.py::test_numeric_queries
  tests/test_hash_model.py::test_sorting
  [gw4] [  5%] PASSED tests/test_hash_model.py::test_expire
  [gw7] [  6%] PASSED tests/test_hash_model.py::test_access_result_by_index_not_cached
  tests/test_hash_model.py::test_raises_error_with_embedded_models
  tests/test_hash_model.py::test_schema
  [gw3] [  7%] PASSED tests/test_hash_model.py::test_retrieve_first
  tests/test_hash_model.py::test_saves_model_and_creates_pk
  [gw6] [  7%] PASSED tests/test_hash_model.py::test_updates_a_model
  tests/test_hash_model.py::test_paginate_query
  [gw5] [  8%] PASSED tests/test_hash_model.py::test_raises_error_with_lists
  tests/test_hash_model.py::test_saves_many
  [gw1] [  9%] PASSED tests/test_hash_model.py::test_tag_queries_boolean_logic
  tests/test_hash_model.py::test_tag_queries_punctuation
  [gw4] [  9%] PASSED tests/test_hash_model.py::test_raises_error_with_embedded_models
  tests/test_hash_model.py::test_raises_error_with_dataclasses
  [gw7] [ 10%] PASSED tests/test_hash_model.py::test_schema
  tests/test_hash_model.py::test_primary_key_model_error
  [gw3] [ 11%] PASSED tests/test_hash_model.py::test_saves_model_and_creates_pk
  tests/test_hash_model.py::test_all_pks
  [gw0] [ 11%] PASSED tests/test_hash_model.py::test_delete_non_exist
  [gw2] [ 12%] PASSED tests/test_hash_model.py::test_sorting
  tests/test_hash_model.py::test_validates_required_fields
  tests/test_hash_model.py::test_full_text_search_queries
  [gw5] [ 13%] PASSED tests/test_hash_model.py::test_saves_many
  tests/test_hash_model.py::test_count
  [gw2] [ 13%] PASSED tests/test_hash_model.py::test_validates_required_fields
  tests/test_hash_model.py::test_validates_field
  [gw6] [ 14%] PASSED tests/test_hash_model.py::test_paginate_query
  [gw4] [ 15%] PASSED tests/test_hash_model.py::test_raises_error_with_dataclasses
  tests/test_hash_model.py::test_access_result_by_index_cached
  tests/test_json_model.py::test_all_pks
  [gw1] [ 15%] PASSED tests/test_hash_model.py::test_tag_queries_punctuation
  tests/test_hash_model.py::test_tag_queries_negation
  [gw0] [ 16%] PASSED tests/test_hash_model.py::test_full_text_search_queries
  tests/test_hash_model.py::test_pagination_queries
  [gw2] [ 17%] PASSED tests/test_hash_model.py::test_validates_field
  [gw3] [ 17%] PASSED tests/test_hash_model.py::test_all_pks
  tests/test_json_model.py::test_list_field_limitations
  tests/test_json_model.py::test_updates_a_model
  [gw5] [ 18%] PASSED tests/test_hash_model.py::test_count
  [gw7] [ 19%] PASSED tests/test_hash_model.py::test_primary_key_model_error
  tests/test_json_model.py::test_validates_required_fields
  tests/test_hash_model.py::test_primary_pk_exists
  [gw6] [ 19%] PASSED tests/test_hash_model.py::test_access_result_by_index_cached
  tests/test_json_model.py::test_in_query
  [gw1] [ 20%] PASSED tests/test_hash_model.py::test_tag_queries_negation
  tests/test_json_model.py::test_recursive_query_field_resolution
  [gw0] [ 21%] PASSED tests/test_hash_model.py::test_pagination_queries
  tests/test_json_model.py::test_allows_and_serializes_lists
  [gw4] [ 21%] PASSED tests/test_json_model.py::test_all_pks
  tests/test_json_model.py::test_delete
  [gw5] [ 22%] PASSED tests/test_json_model.py::test_validates_required_fields
  tests/test_json_model.py::test_validates_field
  [gw6] [ 23%] PASSED tests/test_json_model.py::test_in_query
  tests/test_json_model.py::test_update_query
  [gw3] [ 23%] PASSED tests/test_json_model.py::test_updates_a_model
  tests/test_json_model.py::test_paginate_query
  [gw5] [ 24%] PASSED tests/test_json_model.py::test_validates_field
  tests/test_json_model.py::test_validation_passes
  [gw2] [ 25%] PASSED tests/test_json_model.py::test_list_field_limitations
  tests/test_json_model.py::test_allows_dataclasses
  [gw4] [ 25%] PASSED tests/test_json_model.py::test_delete
  tests/test_json_model.py::test_saves_many_implicit_pipeline
  [gw0] [ 26%] PASSED tests/test_json_model.py::test_allows_and_serializes_lists
  [gw1] [ 26%] PASSED tests/test_json_model.py::test_recursive_query_field_resolution
  tests/test_json_model.py::test_schema
  tests/test_json_model.py::test_full_text_search
  [gw7] [ 27%] PASSED tests/test_hash_model.py::test_primary_pk_exists
  tests/test_json_model.py::test_tag_queries_negation
  [gw5] [ 28%] PASSED tests/test_json_model.py::test_validation_passes
  tests/test_json_model.py::test_saves_model_and_creates_pk
  [gw6] [ 28%] PASSED tests/test_json_model.py::test_update_query
  tests/test_json_model.py::test_exact_match_queries
  [gw3] [ 29%] PASSED tests/test_json_model.py::test_paginate_query
  [gw2] [ 30%] PASSED tests/test_json_model.py::test_allows_dataclasses
  tests/test_json_model.py::test_access_result_by_index_cached
  tests/test_json_model.py::test_allows_and_serializes_dicts
  [gw0] [ 30%] PASSED tests/test_json_model.py::test_schema
  tests/test_json_model.py::test_count
  [gw4] [ 31%] PASSED tests/test_json_model.py::test_saves_many_implicit_pipeline
  tests/test_json_model.py::test_saves_many_explicit_transaction
  [gw1] [ 32%] PASSED tests/test_json_model.py::test_full_text_search
  tests/test_json_model.py::test_tag_queries_boolean_logic
  [gw5] [ 32%] PASSED tests/test_json_model.py::test_saves_model_and_creates_pk
  tests/test_oss_redis_features.py::test_not_found
  [gw3] [ 33%] PASSED tests/test_json_model.py::test_access_result_by_index_cached
  tests/test_json_model.py::test_access_result_by_index_not_cached
  [gw6] [ 34%] PASSED tests/test_json_model.py::test_exact_match_queries
  tests/test_json_model.py::test_recursive_query_expression_resolution
  [gw2] [ 34%] PASSED tests/test_json_model.py::test_allows_and_serializes_dicts
  tests/test_json_model.py::test_allows_and_serializes_sets
  [gw0] [ 35%] PASSED tests/test_json_model.py::test_count
  tests/test_oss_redis_features.py::test_all_keys
  [gw7] [ 36%] PASSED tests/test_json_model.py::test_tag_queries_negation
  tests/test_json_model.py::test_numeric_queries
  [gw4] [ 36%] PASSED tests/test_json_model.py::test_saves_many_explicit_transaction
  tests/test_json_model.py::test_delete_many_implicit_pipeline
  [gw1] [ 37%] PASSED tests/test_json_model.py::test_tag_queries_boolean_logic
  tests/test_json_model.py::test_tag_queries_punctuation
  [gw5] [ 38%] PASSED tests/test_oss_redis_features.py::test_not_found
  [gw6] [ 38%] PASSED tests/test_json_model.py::test_recursive_query_expression_resolution
  tests/test_oss_redis_features.py::test_validates_required_fields
  tests/test_pydantic_integrations.py::test_email_str
  [gw3] [ 39%] PASSED tests/test_json_model.py::test_access_result_by_index_not_cached
  tests/test_oss_redis_features.py::test_saves_model_and_creates_pk
  [gw4] [ 40%] PASSED tests/test_json_model.py::test_delete_many_implicit_pipeline
  tests_sync/test_hash_model.py::test_tag_queries_negation
  [gw1] [ 40%] PASSED tests/test_json_model.py::test_tag_queries_punctuation
  tests_sync/test_hash_model.py::test_validates_required_fields
  [gw2] [ 41%] PASSED tests/test_json_model.py::test_allows_and_serializes_sets
  tests_sync/test_hash_model.py::test_delete_non_exist
  [gw5] [ 42%] PASSED tests/test_oss_redis_features.py::test_validates_required_fields
  tests/test_oss_redis_features.py::test_validates_field
  [gw7] [ 42%] PASSED tests/test_json_model.py::test_numeric_queries
  tests/test_json_model.py::test_sorting
  [gw1] [ 43%] PASSED tests_sync/test_hash_model.py::test_validates_required_fields
  tests_sync/test_hash_model.py::test_validates_field
  [gw3] [ 44%] PASSED tests/test_oss_redis_features.py::test_saves_model_and_creates_pk
  tests/test_oss_redis_features.py::test_raises_error_with_embedded_models
  [gw6] [ 44%] PASSED tests/test_pydantic_integrations.py::test_email_str
  tests/test_redis_type.py::test_redis_type
  [gw6] [ 45%] PASSED tests/test_redis_type.py::test_redis_type
  tests_sync/test_hash_model.py::test_exact_match_queries
  [gw4] [ 46%] PASSED tests_sync/test_hash_model.py::test_tag_queries_negation
  tests_sync/test_hash_model.py::test_numeric_queries
  [gw5] [ 46%] PASSED tests/test_oss_redis_features.py::test_validates_field
  [gw2] [ 47%] PASSED tests_sync/test_hash_model.py::test_delete_non_exist
  tests_sync/test_hash_model.py::test_full_text_search_queries
  [gw1] [ 48%] PASSED tests_sync/test_hash_model.py::test_validates_field
  tests/test_oss_redis_features.py::test_validation_passes
  tests_sync/test_hash_model.py::test_validation_passes
  [gw0] [ 48%] PASSED tests/test_oss_redis_features.py::test_all_keys
  tests_sync/test_hash_model.py::test_recursive_query_resolution
  [gw1] [ 49%] PASSED tests_sync/test_hash_model.py::test_validation_passes
  tests_sync/test_hash_model.py::test_expire
  [gw3] [ 50%] PASSED tests/test_oss_redis_features.py::test_raises_error_with_embedded_models
  tests/test_oss_redis_features.py::test_saves_many
  [gw7] [ 50%] PASSED tests/test_json_model.py::test_sorting
  [gw2] [ 51%] PASSED tests_sync/test_hash_model.py::test_full_text_search_queries
  tests/test_json_model.py::test_not_found
  tests_sync/test_hash_model.py::test_pagination_queries
  [gw4] [ 51%] PASSED tests_sync/test_hash_model.py::test_numeric_queries
  tests_sync/test_hash_model.py::test_sorting
  [gw6] [ 52%] PASSED tests_sync/test_hash_model.py::test_exact_match_queries
  [gw5] [ 53%] PASSED tests/test_oss_redis_features.py::test_validation_passes
  tests_sync/test_hash_model.py::test_retrieve_first
  tests_sync/test_hash_model.py::test_all_pks
  [gw1] [ 53%] PASSED tests_sync/test_hash_model.py::test_expire
  [gw0] [ 54%] PASSED tests_sync/test_hash_model.py::test_recursive_query_resolution
  tests_sync/test_hash_model.py::test_raises_error_with_embedded_models
  tests_sync/test_hash_model.py::test_tag_queries_boolean_logic
  [gw2] [ 55%] PASSED tests_sync/test_hash_model.py::test_pagination_queries
  tests_sync/test_hash_model.py::test_raises_error_with_sets
  [gw6] [ 55%] PASSED tests_sync/test_hash_model.py::test_retrieve_first
  [gw1] [ 56%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_embedded_models
  tests_sync/test_hash_model.py::test_updates_a_model
  tests_sync/test_hash_model.py::test_saves_model_and_creates_pk
  [gw4] [ 57%] PASSED tests_sync/test_hash_model.py::test_sorting
  [gw7] [ 57%] PASSED tests/test_json_model.py::test_not_found
  tests_sync/test_hash_model.py::test_saves_many
  tests_sync/test_hash_model.py::test_raises_error_with_dataclasses
  [gw3] [ 58%] PASSED tests/test_oss_redis_features.py::test_saves_many
  tests/test_oss_redis_features.py::test_updates_a_model
  [gw0] [ 59%] PASSED tests_sync/test_hash_model.py::test_tag_queries_boolean_logic
  tests_sync/test_hash_model.py::test_tag_queries_punctuation
  [gw2] [ 59%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_sets
  tests_sync/test_hash_model.py::test_raises_error_with_lists
  [gw6] [ 60%] PASSED tests_sync/test_hash_model.py::test_saves_model_and_creates_pk
  tests_sync/test_hash_model.py::test_access_result_by_index_cached
  [gw4] [ 61%] PASSED tests_sync/test_hash_model.py::test_saves_many
  tests_sync/test_hash_model.py::test_delete_many
  [gw7] [ 61%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_dataclasses
  tests_sync/test_hash_model.py::test_raises_error_with_dicts
  [gw2] [ 62%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_lists
  [gw1] [ 63%] PASSED tests_sync/test_hash_model.py::test_updates_a_model
  tests_sync/test_hash_model.py::test_paginate_query
  tests_sync/test_hash_model.py::test_primary_pk_exists
  [gw0] [ 63%] PASSED tests_sync/test_hash_model.py::test_tag_queries_punctuation
  tests_sync/test_hash_model.py::test_primary_key_model_error
  [gw6] [ 64%] PASSED tests_sync/test_hash_model.py::test_access_result_by_index_cached
  tests_sync/test_hash_model.py::test_access_result_by_index_not_cached
  [gw4] [ 65%] PASSED tests_sync/test_hash_model.py::test_delete_many
  [gw7] [ 65%] PASSED tests_sync/test_hash_model.py::test_raises_error_with_dicts
  tests_sync/test_hash_model.py::test_count
  tests_sync/test_json_model.py::test_validates_required_fields
  [gw3] [ 66%] PASSED tests/test_oss_redis_features.py::test_updates_a_model
  tests_sync/test_hash_model.py::test_schema
  [gw5] [ 67%] PASSED tests_sync/test_hash_model.py::test_all_pks
  tests_sync/test_hash_model.py::test_delete
  [gw0] [ 67%] PASSED tests_sync/test_hash_model.py::test_primary_key_model_error
  tests_sync/test_json_model.py::test_saves_model_and_creates_pk
  [gw7] [ 68%] PASSED tests_sync/test_json_model.py::test_validates_required_fields
  tests_sync/test_json_model.py::test_saves_many_implicit_pipeline
  [gw1] [ 69%] PASSED tests_sync/test_hash_model.py::test_paginate_query
  tests_sync/test_json_model.py::test_validates_field
  [gw2] [ 69%] PASSED tests_sync/test_hash_model.py::test_primary_pk_exists
  tests_sync/test_json_model.py::test_validation_passes
  [gw3] [ 70%] PASSED tests_sync/test_hash_model.py::test_schema
  [gw4] [ 71%] PASSED tests_sync/test_hash_model.py::test_count
  tests_sync/test_json_model.py::test_saves_many_explicit_transaction
  tests_sync/test_json_model.py::test_delete
  [gw6] [ 71%] PASSED tests_sync/test_hash_model.py::test_access_result_by_index_not_cached
  tests_sync/test_json_model.py::test_all_pks
  [gw5] [ 72%] PASSED tests_sync/test_hash_model.py::test_delete
  tests_sync/test_json_model.py::test_delete_many_implicit_pipeline
  [gw7] [ 73%] PASSED tests_sync/test_json_model.py::test_saves_many_implicit_pipeline
  tests_sync/test_json_model.py::test_paginate_query
  [gw1] [ 73%] PASSED tests_sync/test_json_model.py::test_validates_field
  tests_sync/test_json_model.py::test_access_result_by_index_cached
  [gw4] [ 74%] PASSED tests_sync/test_json_model.py::test_delete
  tests_sync/test_json_model.py::test_update_query
  [gw2] [ 75%] PASSED tests_sync/test_json_model.py::test_validation_passes
  tests_sync/test_json_model.py::test_access_result_by_index_not_cached
  [gw0] [ 75%] PASSED tests_sync/test_json_model.py::test_saves_model_and_creates_pk
  tests_sync/test_json_model.py::test_updates_a_model
  [gw5] [ 76%] PASSED tests_sync/test_json_model.py::test_delete_many_implicit_pipeline
  [gw3] [ 76%] PASSED tests_sync/test_json_model.py::test_saves_many_explicit_transaction
  tests_sync/test_json_model.py::test_recursive_query_expression_resolution
  tests_sync/test_json_model.py::test_in_query
  [gw7] [ 77%] PASSED tests_sync/test_json_model.py::test_paginate_query
  [gw1] [ 78%] PASSED tests_sync/test_json_model.py::test_access_result_by_index_cached
  tests_sync/test_json_model.py::test_recursive_query_field_resolution
  tests_sync/test_json_model.py::test_full_text_search
  [gw4] [ 78%] PASSED tests_sync/test_json_model.py::test_update_query
  tests_sync/test_json_model.py::test_tag_queries_boolean_logic
  [gw5] [ 79%] PASSED tests_sync/test_json_model.py::test_recursive_query_expression_resolution
  tests_sync/test_json_model.py::test_numeric_queries
  [gw2] [ 80%] PASSED tests_sync/test_json_model.py::test_access_result_by_index_not_cached
  [gw3] [ 80%] PASSED tests_sync/test_json_model.py::test_in_query
  tests_sync/test_json_model.py::test_tag_queries_punctuation
  tests_sync/test_json_model.py::test_sorting
  [gw0] [ 81%] PASSED tests_sync/test_json_model.py::test_updates_a_model
  tests_sync/test_json_model.py::test_tag_queries_negation
  [gw7] [ 82%] PASSED tests_sync/test_json_model.py::test_recursive_query_field_resolution
  [gw4] [ 82%] PASSED tests_sync/test_json_model.py::test_tag_queries_boolean_logic
  tests_sync/test_json_model.py::test_not_found
  tests_sync/test_json_model.py::test_allows_dataclasses
  [gw1] [ 83%] PASSED tests_sync/test_json_model.py::test_full_text_search
  tests_sync/test_json_model.py::test_list_field_limitations
  [gw6] [ 84%] PASSED tests_sync/test_json_model.py::test_all_pks
  tests_sync/test_json_model.py::test_exact_match_queries
  [gw3] [ 84%] PASSED tests_sync/test_json_model.py::test_sorting
  tests_sync/test_json_model.py::test_allows_and_serializes_lists
  [gw5] [ 85%] PASSED tests_sync/test_json_model.py::test_numeric_queries
  tests_sync/test_json_model.py::test_allows_and_serializes_dicts
  [gw7] [ 86%] PASSED tests_sync/test_json_model.py::test_not_found
  tests_sync/test_json_model.py::test_count
  [gw2] [ 86%] PASSED tests_sync/test_json_model.py::test_tag_queries_punctuation
  tests_sync/test_json_model.py::test_allows_and_serializes_sets
  [gw4] [ 87%] PASSED tests_sync/test_json_model.py::test_allows_dataclasses
  [gw0] [ 88%] PASSED tests_sync/test_json_model.py::test_tag_queries_negation
  tests_sync/test_oss_redis_features.py::test_all_keys
  tests_sync/test_json_model.py::test_schema
  [gw3] [ 88%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_lists
  [gw5] [ 89%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_dicts
  tests_sync/test_oss_redis_features.py::test_validates_field
  tests_sync/test_oss_redis_features.py::test_validation_passes
  [gw7] [ 90%] PASSED tests_sync/test_json_model.py::test_count
  [gw0] [ 90%] PASSED tests_sync/test_json_model.py::test_schema
  tests_sync/test_oss_redis_features.py::test_saves_model_and_creates_pk
  tests_sync/test_oss_redis_features.py::test_updates_a_model
  [gw1] [ 91%] PASSED tests_sync/test_json_model.py::test_list_field_limitations
  [gw6] [ 92%] PASSED tests_sync/test_json_model.py::test_exact_match_queries
  tests_sync/test_oss_redis_features.py::test_not_found
  tests_sync/test_oss_redis_features.py::test_validates_required_fields
  [gw2] [ 92%] PASSED tests_sync/test_json_model.py::test_allows_and_serializes_sets
  tests_sync/test_oss_redis_features.py::test_raises_error_with_embedded_models
  [gw5] [ 93%] PASSED tests_sync/test_oss_redis_features.py::test_validation_passes
  tests_sync/test_redis_type.py::test_redis_type
  [gw5] [ 94%] PASSED tests_sync/test_redis_type.py::test_redis_type
  [gw3] [ 94%] PASSED tests_sync/test_oss_redis_features.py::test_validates_field
  [gw7] [ 95%] PASSED tests_sync/test_oss_redis_features.py::test_saves_model_and_creates_pk
  tests_sync/test_pydantic_integrations.py::test_email_str
  [gw6] [ 96%] PASSED tests_sync/test_oss_redis_features.py::test_validates_required_fields
  [gw0] [ 96%] PASSED tests_sync/test_oss_redis_features.py::test_updates_a_model
  [gw1] [ 97%] PASSED tests_sync/test_oss_redis_features.py::test_not_found
  [gw2] [ 98%] PASSED tests_sync/test_oss_redis_features.py::test_raises_error_with_embedded_models
  [gw4] [ 98%] PASSED tests_sync/test_oss_redis_features.py::test_all_keys
  tests_sync/test_oss_redis_features.py::test_saves_many
  [gw3] [ 99%] PASSED tests_sync/test_pydantic_integrations.py::test_email_str
  [gw4] [100%] PASSED tests_sync/test_oss_redis_features.py::test_saves_many
  
  ---------- coverage: platform darwin, python 3.10.8-final-0 ----------
  Name                                     Stmts   Miss  Cover   Missing
  ----------------------------------------------------------------------
  aredis_om/__init__.py                        5      0   100%
  aredis_om/async_redis.py                     1      0   100%
  aredis_om/checks.py                         21     12    43%   9-10, 15-18, 23-28
  aredis_om/connections.py                    10      1    90%   20
  aredis_om/model/__init__.py                  2      0   100%
  aredis_om/model/cli/__init__.py              0      0   100%
  aredis_om/model/cli/migrate.py              13     13     0%   1-18
  aredis_om/model/encoders.py                 72     35    51%   68, 70, 73-86, 94, 96, 98, 132-147, 150-155, 159-173
  aredis_om/model/migrations/__init__.py       0      0   100%
  aredis_om/model/migrations/migrator.py      87     15    83%   24-35, 45, 56, 83-84, 89-90, 101, 112-114
  aredis_om/model/model.py                   888    115    87%   100, 111, 128, 136, 145-152, 166, 185, 193, 199, 203, 207, 211-214, 218, 241, 245, 297, 305, 352, 394, 401, 419, 446, 474, 499, 502-508, 527, 529, 533, 561-571, 592-595, 606, 653, 667-672, 685, 699, 701, 703, 705, 768, 787, 823-828, 844-854, 904, 927-928, 1072, 1135, 1157, 1161, 1166, 1190, 1221-1224, 1232, 1308, 1314, 1374-1382, 1396, 1436-1445, 1449, 1464-1472, 1483-1493, 1506, 1606-1607, 1634-1637, 1721, 1725-1729
  aredis_om/model/query_resolver.py           23     23     0%   1-103
  aredis_om/model/render_tree.py              33     31     6%   24-75
  aredis_om/model/token_escaper.py            13      1    92%   16
  aredis_om/sync_redis.py                      1      1     0%   1
  aredis_om/util.py                            6      1    83%   7
  ----------------------------------------------------------------------
  TOTAL                                     1175    248    79%
  
  
  =============================================================================== 152 passed in 1.45s ================================================================================
  docker-compose down
  [+] Running 3/3
   ⠿ Container redis-om-python-oss_redis-1  Removed                                                                                                                              0.2s
   ⠿ Container redis-om-python-redis-1      Removed                                                                                                                              0.1s
   ⠿ Network redis-om-python_default        Removed                                                                                                                              0.0s
  
  ~/Repositories/redis-om-python fix-model-typings*
  redis-om-DEJACET3-py3.10 ❯
  ```
  
  </details>