Additional fields for(ever) Django.
Project description
Additional fields for(ever) Django.
Prerequisites
Django 1.11, 2.0, 2.1, 2.2 and 3.0.
Python 2.7, 3.6, 3.7 and 3.8.
Documentation
Documentation is available on Read the Docs.
Main features and highlights
MD5Field.
Installation
Install latest stable version from PyPI:
pip install django-strawberry
or latest stable version from GitHub:
pip install https://github.com/barseghyanartur/django-strawberry/archive/stable.tar.gz
or latest stable version from BitBucket:
pip install https://bitbucket.org/barseghyanartur/django-strawberry/get/stable.tar.gz
Usage
MD5 field
In case you want to have an MD5 field populated from another field of the same model.
Example 1
myapp/models.py
from django.db import models
from strawberry.fields import MD5Field
class MyModel(models.Model):
title = models.CharField(max_length=255)
title_hash = MD5Field(
populate_from='title',
null=True,
blank=True
)
def __str__(self):
return self.title
myapp/example.py
from myapp.models import MyModel
mymodel = MyModel.objects.create(title="Lorem7")
print(mymodel.title_hash)
'd48a712e77902d0558a3721d9a4740c9'
Example 2
The populate_from argument can also be a callable, that would expect the model instance as an argument. Thus, example identical to the first one would be:
myapp/models.py
from django.db import models
from strawberry.fields import MD5Field
def strip_title(instance):
return instance.title.strip()
class MyModel(models.Model):
title = models.CharField(max_length=255)
title_hash = MD5Field(
populate_from=strip_title,
null=True,
blank=True,
)
def __str__(self):
return self.title
myapp/example.py
from myapp.models import MyModel
mymodel = MyModel.objects.create(title=" Lorem7 ")
print(mymodel.title_hash)
'd48a712e77902d0558a3721d9a4740c9'
Testing
Project is covered with tests.
To test with all supported Python/Django versions type:
tox
To test against specific environment, type:
tox -e py38-django30
To test just your working environment type:
./runtests.py
To run a single test in your working environment type:
./runtests.py src/strawberry/tests/test_fields.py
Or:
./manage.py test strawberry.tests.test_fields
It’s assumed that you have all the requirements installed. If not, first install the test requirements:
pip install -r examples/requirements/test.txt
Writing documentation
Keep the following hierarchy.
=====
title
=====
header
======
sub-header
----------
sub-sub-header
~~~~~~~~~~~~~~
sub-sub-sub-header
^^^^^^^^^^^^^^^^^^
sub-sub-sub-sub-header
++++++++++++++++++++++
sub-sub-sub-sub-sub-header
**************************
License
GPL-2.0-only OR LGPL-2.1-or-later
Support
For any issues contact me at the e-mail given in the Author section.
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
File details
Details for the file django-strawberry-0.1.2.tar.gz
.
File metadata
- Download URL: django-strawberry-0.1.2.tar.gz
- Upload date:
- Size: 33.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b481a375ef0f6830d73a17e715b7f03bded344553e471acb12bfebf3f5689d29 |
|
MD5 | 1620a383ab74cdf8b6fc5fcc370ad213 |
|
BLAKE2b-256 | c1222f531692e625bdd5bc41b33a5d6e64ae671e92537e06128fe0c341bd318b |
File details
Details for the file django_strawberry-0.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: django_strawberry-0.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 26.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c60d81e5a63cb8bae85bf7c447de8b0fc158ed78f9d852d9ba743041aff61aa |
|
MD5 | 985c54462c3e3c0c1eaeeb5e6a57e362 |
|
BLAKE2b-256 | c585d0213c9c07c673cb38494e46fa06810d25a8ef5d6e416f4787e62e78073c |