This project is deprecated and no longer actively maintained by
Disqus <https://disqus.com/>. However there is a fork being maintained by YPlan at
github.com/YPlan/django-modeldict <https://github.com/YPlan/django-modeldict> and a similar project by Disqus at
ModelDict is a very efficient way to store things like settings in your database. The entire model is transformed into a dictionary (lazily) as well as stored in your cache. It's invalidated only when it needs to be (both in process and based on
Quick example usage. More docs to come (maybe?)::
class Setting(models.Model): key = models.CharField(max_length=32) value = models.CharField(max_length=200) settings = ModelDict(Setting, key='key', value='value', instances=False) # access missing value settings['foo'] >>> KeyError # set the value settings['foo'] = 'hello' # fetch the current value using either method Setting.objects.get(key='foo').value >>> 'hello' settings['foo'] >>> 'hello'