Generic EAV-style table creation in the user's hands
Project description
django_userdefinedtables
This application is intended to be used as a way for an end user to define their own database tables.
It is loosely inspired by the way SharePoint lists work.
Installation
To install django_userdefinedtables, use the following command:
pip install django_userdefinedtables
userdefinedtables
should then added to the APPS
list in the Django settings.
Use
Models
The models which are available for use are:
Organizational
- List: Akin to a table in a relational database.
- Column: Akin to a column/attribute in a relational database. The naked Column model should not be used, as it is the parent in a multi-table inheritance scheme used to simplify querying for instances of the various column models.
- Row: Akin to a row in a relational database. Manages order and membership of data entries.
- Entry: Like, Column, utilizes multi-table inheritance for simplified querying.
Data Type
- SingleLineOfTextColumn: brief text field. Corresponding value utilizes Django CharField.
- MultipleLineTextColumn: longer length field. Corresponding value utilizes Django TextField.
- ChoiceColumn: option among several user-defined choices. Supported by the Choice model, which captures the actual choices available.
- NumberColumn: A column which allows for entry of a decimal number. Supported by NumericalColumn abstract model, which Utilizes Django DecimalField.
- CurrencyColumn: defines a currency field. Set apart from the NumberColumn in order to support formatting, but is otherwise identical. NOTE: This is possibly unnecessarily redundant to NumberColumn and may be removed in the future.
- DateTimeColumn: defines a datetime field. Corresponding value utilizes Django DateTimeField.
- BinaryColumnEntry: defines a binary field. Corresponding value utilizes Django BooleanField.
- PictureColumn: defines a picture field. Corresponding value utilizes Django ImageField.
- LookupColumn: defines a way for end users to specify a reference to a value in another column. Utilizes several foreign key relationships.
- URLColumn: defines a url field. Corresponding value utilizes Django URLField.
Instance/Entry
Generally, these entries are self-explanatory, given an understanding of the Data Type models.
- SingleLineOfTextColumnEntry
- MultipleLineTextColumnEntry
- ChoiceEntry
- NumberEntry
- CurrencyEntry
- DateTimeColumnEntry
- BinaryColumnEntry
- LookupColumnEntry
- URLColumnEntry
Example
Please see the example page to see how this package can be used.
Active Development & Contribution
This project is still in a nascent stage and is volatile to a degree. Contribution by other members of the community is welcome, whether in the form of pull requests or ideas.
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
Hashes for django_userdefinedtables-0.0.13.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51d314792817a5e0edb33d7cbcfaa5696c9996d7c246ca29b85ba030f79f4189 |
|
MD5 | 9136ef34b59d41b1ffdd83a8f5d8dc0f |
|
BLAKE2b-256 | c15d5e41f884b88abdfb5b625a7e3719b1fc101784ca17349043eddac0ad49c5 |
Hashes for django_userdefinedtables-0.0.13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 487582cb9df2e6627b7c2c42160effde1b209b4d03ab71e64152c1dabb828efd |
|
MD5 | ec83a6e66cb48c1b2d71a133efe619c6 |
|
BLAKE2b-256 | fdb403455f5de49c24499e562ec4eb7d85dbdb82b59c59e7cd1ddc02ed480a9a |