An easy-to-use cache for Django models.
Project description
# django-model-cache
An easy-to-use cache for Django models.
This code has been developed and used in a production environment for one year.
## How to use
There follows some examples of use. For further examples, see `tests/simple/tests.py`.
```python
class Brand(models.Model):
name = models.CharField(max_length=128)
cache = CacheController(timeout=None)
class Product(models.Model):
code = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
brand = models.ForeignKey('Brand')
name = models.CharField(max_length=255)
cache = CacheController(fields=['code', ('brand_id', 'name')], related_fields=['brand'], timeout=None)
class Meta:
unique_together = ('name', 'brand')
# Get a product by pk.
product = Product.cache.get(pk=1)
# Get a product by a unique key.
product = Product.cache.get(code='A001')
# Load the related models.
product.load_related()
```
## How to test
Just run `tox` or install the dependencies and run `cd tests/ && ./manage.py test`.
An easy-to-use cache for Django models.
This code has been developed and used in a production environment for one year.
## How to use
There follows some examples of use. For further examples, see `tests/simple/tests.py`.
```python
class Brand(models.Model):
name = models.CharField(max_length=128)
cache = CacheController(timeout=None)
class Product(models.Model):
code = models.UUIDField(default=uuid.uuid4, editable=False, unique=True)
brand = models.ForeignKey('Brand')
name = models.CharField(max_length=255)
cache = CacheController(fields=['code', ('brand_id', 'name')], related_fields=['brand'], timeout=None)
class Meta:
unique_together = ('name', 'brand')
# Get a product by pk.
product = Product.cache.get(pk=1)
# Get a product by a unique key.
product = Product.cache.get(code='A001')
# Load the related models.
product.load_related()
```
## How to test
Just run `tox` or install the dependencies and run `cd tests/ && ./manage.py test`.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for django_model_cache-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9730312b4a57d67afee4e2003c66deeb26f5b2cd4a0b48f4bfa02f658dbc3a17 |
|
MD5 | c3680c844d8f5e57973a6bfd67d7764e |
|
BLAKE2b-256 | d8382f557e6aeec52e5e0342f5ae350394a625f3ca45e3655fad230e7547f884 |