primary_id = models.AutoField(primary_key=True, db_column='id')
Custom primary key to prevent conflicts with the proxy model’s primary key.
A model used for curating other models and proxying their attributes
django-curation is a django module that provides a model used for curating other model objects and proxying their attributes.
from django.db import models
from curation.models import CuratedItem, CuratedGroup, CuratedItemManager
from curation.fields import CuratedForeignKey
from blog.models import Post
class CuratedPostGroup(CuratedGroup):
pass
class CuratedPost(CuratedItem):
formfield_overrides = {
'custom_title': 'title',
}
objects = CuratedItemManager()
group = models.ForeignKey(CuratedPostGroup, on_delete=models.CASCADE)
post = curation.fields.CuratedForeignKey(Post)
custom_title = models.CharField(max_length=255, null=True, blank=True,
db_column='title')
Setup:
python3 -m venv venv . venv/bin/activate pip install tox
Run all tests:
tox
Run code coverage and render HTML report:
tox -e cov open htmlcov/index.html
Setup:
python3 -m venv venv . venv/bin/activate pip install pytest pytest-cov pytest-django "Django<2.1" pip install -e .
Run tests:
python -m pytest
Run code coverage and render HTML report:
python -m pytest --cov-report html --cov-report term --cov=curation
Abstract class representing an item in a curated group.
In order for a model that extends this class to proxy successfully, it must define a CuratedForeignKey field:
class CuratedPost(CuratedItem):
post = curation.fields.CuratedForeignKey(Post)
A dict that maps field names in the proxy model (the to=… model in the CuratedForeignKey) to field names in the current model which can override them (provided their value is not None or an empty string).
This takes the form:
field_overrides = {
'title': 'custom_title',
'status': 'custom_status',
}
Where custom_title and custom_status are fields in the model extending CuratedItem, and title and status are fields in the proxy model.
Custom primary key to prevent conflicts with the proxy model’s primary key.
A manager that defines queryset helpers for CuratedItem.
Filter the current queryset to rows with curated groups having slug “slug”.
Overrides ModelBase to check whether a curation.fields.CuratedForeignKey is defined on the model. If not, throw a TypeError.
A ForeignKey that gets a list of the __dict__ keys and field names of the related model on load. It saves this list to the _proxy_attrs attribute of its parent model’s _meta attribute.
A django built-in that adds attributes to the model class in which it is defined.
This method sets the _curated_proxy_field_name on the _meta attribute of the CuratedForeignKey’s parent model to the field’s name (e.g. “post” in the example at the very beginning of this README).
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
Details for the file django_curation-2.1.0.tar.gz.
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4b3813f0deefa1af96158c072263d32bd80df1f2ccfa47b29591bbe92dbaa47
|
|
| MD5 |
6b995cc27e4891245e8da52134b7f3cf
|
|
| BLAKE2b-256 |
3ecdf99e5c1f545c392ee4a5b5186a6d8b996455c1368ddebcdfd82962b5fc67
|
Details for the file django_curation-2.1.0-py2.py3-none-any.whl.
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7692cd58404ccf999f6ec22e9aab59857a16ecdb01e138c4c17a6f7e22f3b011
|
|
| MD5 |
e12a775c03720050c4694a919332e1e4
|
|
| BLAKE2b-256 |
b8e8b3461879fbc12cea76be7907a8a765ac7290d1b44e4a001cfe3f67a1a6cf
|