Collection of useful checks for Django Checks Framework
Project description
Django Extra Checks
Useful checks for Django Checks Frameworks
Settings
To enable some check define EXTRA_CHECKS
setting with a dict of
checks and its settings, eg:
EXTRA_CHECKS = {
"checks": [
# require non empty `upload_to` argument.
"field-file-upload-to",
# use dict form if check need configuration
# eg. all models must have fk to Site model
{"id": "model-attribute", "attrs": ["site"]},
# require `db_table` for all models, increase level to CRITICAL
{"id": "model-meta-attribute", "attrs": ["db_table"], "level": "CRITICAL"},
]
}
To ignore model warnings you can use ignore_checks
decorator, eg:
from extra_checks import ignore_checks, CheckID
@ignore_checks("model-attribute", "X011", CheckID.X050)
class MyModel(models.Model):
image = models.ImageField()
Checks
- extra-checks-config - settings.EXTRA_CHECKS is valid config for django-extra-checks (always enabled).
- model-attribute - Each Model in the project must have all attributes from
attrs
setting specified. - model-meta-attribute - Each Model.Meta in the project must have all attributes from
attrs
setting specified. - field-file-upload-to - FileField/ImageField must have non empty
upload_to
argument. - field-verbose-name - All model's fields must have verbose name.
- field-verbose-name-gettext - verbose_name must use gettext.
- field-verbose-name-gettext-case - Words in text wrapped with gettext must be in one case.
- field-help-text-gettext - help_text must use gettext.
- field-text-null - text fields shoudn't use
null=True
. - field-null-boolean - prefer using
BooleanField(null=True)
instead ofNullBooleanField
. - field-null-false - don't pass
null=False
to model fields (this is django default). - field-foreign-key-index - ForeignKey fields must specify
db_index
explicitly.
Development
Install dev deps in virtualenv pip install -e .[dev]
.
Credits
The project was built using ideas and code snippets from:
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
django-extra-checks-0.2.1.tar.gz
(16.0 kB
view hashes)
Built Distribution
Close
Hashes for django-extra-checks-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c0ede2d96a4e4716c57d77e3b06fab146fcdc11ed4cdb861484504574425ae1 |
|
MD5 | fe0d0ff13e1a54383d876b736b6b0e9c |
|
BLAKE2b-256 | dd4d42a4f57ee9c0965a9a41f4aab9ded0b0bcfd09c409ce9e605c0905a52933 |
Close
Hashes for django_extra_checks-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e319087603e63fcdbe9192c56f09ccfd6e130b3647e877f3257db619919c45e |
|
MD5 | 00bc81176f741eef3eb0e95e5a277587 |
|
BLAKE2b-256 | 59fa6ef935cd9bb6c43a88479bbd9e19b1e8be56f9b6523029a90dc25b9782c5 |