redis-om 0.3 pydantic model changes
Ping @pguillou Follow-up of #4307 (closed)
___________________ ERROR at setup of test_search_all_scans ____________________
redis_db = {'host': 'localhost', 'port': 40621}
@fixture
def redis_url(redis_db): # noqa F811
url = f"redis://{redis_db['host']}:{redis_db['port']}"
Redis.from_url(url).flushall()
> _ = DataStore(url, init_db=True)
blissdata/tests/conftest.py:18:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
blissdata/redis_engine/store.py:65: in __init__
class ScanModel(JsonModel):
/usr/local/lib/python3.9/site-packages/redis_om/model/model.py:1250: in __new__
new_class = super().__new__(cls, name, bases, attrs, **kwargs)
/usr/local/lib/python3.9/site-packages/pydantic/_internal/_model_construction.py:115: in __new__
cls: type[BaseModel] = super().__new__(mcs, cls_name, bases, namespace, **kwargs) # type: ignore
/usr/local/lib/python3.9/abc.py:106: in __new__
cls = super().__new__(mcls, name, bases, namespace, **kwargs)
/usr/local/lib/python3.9/site-packages/redis_om/model/model.py:1813: in __init_subclass__
cls.redisearch_schema()
/usr/local/lib/python3.9/site-packages/redis_om/model/model.py:1882: in redisearch_schema
schema_parts = [schema_prefix] + cls.schema_for_fields()
/usr/local/lib/python3.9/site-packages/redis_om/model/model.py:1903: in schema_for_fields
_type = get_outer_type(field)
/usr/local/lib/python3.9/site-packages/redis_om/model/model.py:86: in get_outer_type
return field.annotation.__args__[0]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = typing.Dict, attr = '__args__'
def __getattr__(self, attr):
# We are careful for copy and pickle.
# Also for simplicity we don't relay any dunder names
if '__origin__' in self.__dict__ and not _is_dunder(attr):
return getattr(self.__origin__, attr)
> raise AttributeError(attr)
E AttributeError: __args__
/usr/local/lib/python3.9/typing.py:711: AttributeError