Skip to main content

Dynamo let users and admins create and mantain their Django DYNA mic MO dels dynamically at runtime. For details on setup and usage, please read the documentation on Readthedocs.

Why would you need a dynamic model?

Dynamic models are beneficial for applications that need data structures, which are only known at runtime, but not when the application is coded. Or when existing models need to be extended at runtime by additional fields. Typical use cases are:

  1. CMS: In content management systems, users often need to maintain content that is unique for their specific website. The required data structures to store and maintain this content is therefore not known to the developers beforehand.

  2. Web Shop: The owner of a web shop has highly customized products, with very special product attributes. The shop developers want the web shop owner to define these attributes herself.

  3. Survey: If you have an application to create and maintain online surveys, you do neither know the questions nor the possible answers at runtime, but let your users define these, as they implement their surveys.

Dynamo supports the three of these use cases - and many more!

How does Dynamo work?

Dynamo lets you define the meta data for your models their fields. This metadata definition is stored in “real” Django models. The defined model is then created at runtime. And of course, you can also modify the models later on, e.g. adding, renaming or deleting fields; or changing model attributes. It will also automatically manage your admin and app cache for the dynamic models. The meta data maintenance can be done via the Django Admin or via the provided API.

What else is there?

There are various approaches and implemenations available for Django developers:

  • The most straight forward approach is to use the Django internals and its DB API to create and maintain models at runtime. Numerous authors have elaborated this option in the Django Wiki . Michael Hall has created an app following this approach; he has also called in dynamo, I hope this does not cause too much confusion.

  • Entity-Attribute-Value / EAV Model is the traditioal computer science approach to tackle this kind of problem, and there are also django implementations for that available like django-eav or eav-django.

  • Finally, Will Hardy has introduced a South -based concept, that he has presented and discussed at the DjangoCon Europe 2011 . Following this concept, he has implemented dynamic-models

The South based approach seems to be the cleanest and clearly follows the DRY approach: all database handling, maintenance and transactions are left to the excellent South API.

Who else gets credits for Dynamo?

Dynamo is inspired by the excellent work of Will Hardy’s dynamic-models and this Django Wiki Article. It also re-uses parts of their concepts and coding. Furthermore, South is used to maintain the Dyanmo related database objects.

Under which license is Dynamo available?

Dynamo is available under the BSD license.

How do I get suport?

The online documentation on ReadtheDocs is a great place to start. If you have any further questions, issues or would like to contribute, please let us know at the Dynamo Google Group

Metadata

Release files for django-dynamo 0.25

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-dynamo 0.25
File Size Uploaded Provenance
django-dynamo-0.25.zip 28.1 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for django-dynamo 0.25
File Interpreter ABI Platform
django_dynamo-0.25-py2.7.egg Legacy Egg format - - Details
django-dynamo-0.25.win32.exe Details

Total release size: 299.7 kB

Release files / django-dynamo-0.25.zip

Download URL django-dynamo-0.25.zip
Size 28.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8d8553ceb380f184aeec4bfb07c42d8483726f6a252e80eeee2c7f14991dc7ae
BLAKE2b-256 checksum
How to use checksums
5deb4fa2443823ac8f19b321ce1977b5c4907ee8c726f54c3871d1883daeff98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / django_dynamo-0.25-py2.7.egg

Download URL django_dynamo-0.25-py2.7.egg
Size 46.2 kB
Tags Egg
SHA-256 checksum
How to use checksums
56307e25bf55f7f58bff16b0b6a7a93ddd792f9aa7d6949c9287bfd911636804
BLAKE2b-256 checksum
How to use checksums
16333a173d4beeae2fb8988d7bb8f9702012b6607ce2ca24c9ca046a90faf329
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / django-dynamo-0.25.win32.exe

Download URL django-dynamo-0.25.win32.exe
Size 225.5 kB
Tags Source
SHA-256 checksum
How to use checksums
48375618dd66897c59ea718f1fce1a9ca4807e7140fc2297adea63ef89204545
BLAKE2b-256 checksum
How to use checksums
ffc5b271077fd5dad9014cee71366ad27f0dd879c5752e463d561891a498c366
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for django-dynamo 0.25

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.25 This release

3 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page