Extend django-model-utils and django-extensions.
Version 0.4.0 code got deleted but still exists on PyPI.
- Serialized Number Generation (e.g. PN-0001, PN-0001; MY1, MY2)
- Useful Model and Form fields
- Several Useful Utility Functions
-
is_number
: checks if number could be coerced to afloat
-
ratio_to_whole
: .1 to 10; useful for percentages to "human" -
whole_to_ratio
: 10 to .1; useful for "human" to "percentages" - perhaps others, see docs when they're published
-
pip install django-rubble
- Clone the repository:
git clone https://github.com/WoosterTech/django-rubble.git
- Install the dependencies:
poetry install
Simply use the functions, fields, models.
The biggest "gotcha" is that NamedSerialNumber
needs to be imported in your urls.py
file; not actually sure why, perhaps someone can help me with that?
To use the automatic numbering, subclass NumberedModel
and make sure to include a number_config = SerialNumberConfig(...)
attribute. It will set defaults, but just as a standard integer starting at "1" with no prefix.
class PartNumber(NumberedModel):
name = models.CharField("Part Description", max_length=100)
number_config = SerialNumberConfig(
initial_value=10, prefix="PN-", width=4
)
Numbers will be generated starting with "PN-0010" (note the padding to make a width of 4) and increment by the default step of "1."
Contributions are welcome! Please follow the guidelines in contributing
This project is licensed under the MIT License.
- Author: Karl Wooster
- Email: karl@woostertech.com
- Website: woostertech.com
MIT (see License)
See contributing