support late creation of DB connection using callable for Meta.database #543
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix for #519:
RedisModel.Meta.database
has not been set, the meta class won't set it. No DB connection is configured or opened.MyRedisModel.db()
is called, the old behavior is retained: ifMyRedisModel.Meta.database
is set, it'll be used, otherwiseget_redis_connection()
is called.MyRedisModel.Meta.database
is a function object, it is executed and its return value is returned.MyRedisModel.db()
return the same object.So now, when your database address is not known at import time, you set
Meta.database
to a function object that fetches that information at runtime, as late as possible (upon DB usage).