Skip to main content

Allow dynamic creation and updates to database schema at runtime.

Project description

django-dynamic-models Build Status

Overview

Dynamic Django models allow users to define, edit, and populate their own database tables and apply runtime schema changes to the database. django-dynamic-models is loosely based on the runtime dynamic models talk from DjangoCon 2011. The basic concept involves around dynamic class declaration using the built-in type function. type is used to dynamically declare new Django models at runtime, and it is the goal of this project to provide a simple API to allow developers to get started with dynamic models quickly.

This package provides models to help Django developers quickly implement dynamic models for their specific use case, while the handling the runtime schema changes and updates to Django's model registry under the hood. The schema changes are applied in pure Django, without the migrations framework, so none of your dynamic models will affect your migrations files at all.

Disclaimer:

It is not recommended to use this project for business critical data due to the high potential for data loss. Tables can be dropped very easily, and without backups, even a small user error could be catastrophic.

Documentation

See the wiki for documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-dynamic-model-0.3.0.tar.gz (6.9 kB view details)

Uploaded Source

File details

Details for the file django-dynamic-model-0.3.0.tar.gz.

File metadata

  • Download URL: django-dynamic-model-0.3.0.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.8.5

File hashes

Hashes for django-dynamic-model-0.3.0.tar.gz
Algorithm Hash digest
SHA256 9843ceda424a4d9566c729dd304ce87494e262b7792ca551ade37dda6647dba9
MD5 b1a4e5db3fe2b6e9288eca1e4b7deafa
BLAKE2b-256 3e828a79ae8da986f96415528a6abfad0dcb667371f9cdca9ee75e2450a9d9cf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page