1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
------------------
NOTICE: Deprecated
------------------
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 `github.com/disqus/durabledict <https://github.com/disqus/durabledict/>`_.
----------------
django-modeldict
----------------
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 ``CACHE_BACKEND``).
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'
|