-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't access ring-specific attributes on a cached property #180
Comments
Yes, it is an expected behavior. We need Ring object to access to the ring attributes, but property returns the result of function instead of ring object. Not very neat, but I sometimes used this kind of workaround for development: class ProductCalculations:
@ring.redis(redis_connection, coder='pickle')
def _products(self) -> 'QuerySet[Product]':
return Product.objects.filter(organization=self.organization)
@property
def products(self):
return self._products() There is no way to access there for now. |
That's what I suspected. Thanks for the proposed workaround @youknowone . Something like |
@youknowone so if it's a property and I don't have access to ring methods, how do I force the recache? I do need access to |
I am writing a reports/calculations module and using ring to store the results of expensive calculations in redis.
I started with using classmethods and it worked as expected, I was able to access ring-specific attributes (has, key, etc) but with property I cannot seem to be able to.
Here is a simplified example:
Upon inspecting the results, I can't seem to be able to access ring-specific attributes:
Is this an expected behavior? How can I access ring-specific attributes on the cached property?
The text was updated successfully, but these errors were encountered: