sdispater / orator-cache

This package provides query results caching to the Orator ORM.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

not working on model queries not leveraging cache

mrsollis opened this issue · comments

Exact same issue as this issue however I am using version 0.9.8 of orator and 0.1.1 orator-cache.

I setup cache like this:

from orator_cache import DatabaseManager, Cache
stores = {
        'default': 'file',
        'stores': {
            'file': {
                'driver': 'file',
                'path': '/var/tmp'
            }
        }
    }
db = DatabaseManager(config, cache=Cache(stores))

models like this:

from orator import Model, SoftDeletes
Model.set_connection_resolver(db)
class RevenueModel(SoftDeletes, Model):
...

getting this error:

TypeError: init() missing 1 required positional argument: 'cache'

Traceback:

Traceback (most recent call last):
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/rq/worker.py", line 812, in perform_job
    rv = job.perform()
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/rq/job.py", line 588, in perform
    self._result = self._execute()
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/rq/job.py", line 594, in _execute
    return self.func(*self.args, **self.kwargs)
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/yyy_shared/workers/sfdc_download.py", line 138, in queue_workers
    orgs = Organization.all()
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/orator/orm/model.py", line 547, in all
    return instance.new_query().get(columns)
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/orator/orm/builder.py", line 198, in get
    models = self.get_models(columns)
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/orator/orm/builder.py", line 444, in get_models
    results = self.apply_scopes().get_query().get(columns).all()
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/orator/orm/builder.py", line 941, in apply_scopes
    builder = copy.copy(self)
  File "/Users/zzz/.pyenv/versions/3.7.3/lib/python3.7/copy.py", line 88, in copy
    return copier(x)
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/orator/orm/builder.py", line 1176, in __copy__
    new = self.__class__(copy.copy(self._query))
  File "/Users/zzz/.pyenv/versions/3.7.3/lib/python3.7/copy.py", line 88, in copy
    return copier(x)
  File "/Users/zzz/.pyenv/versions/yyy/lib/python3.7/site-packages/orator/query/builder.py", line 1682, in __copy__
    new = self.__class__(self._connection, self._grammar, self._processor)
TypeError: __init__() missing 1 required positional argument: 'cache'

For what it's worth, I really love this ORM. You have done a great job.