Django models backed by database views
Project description
django_view_models
Designed for Postgres. May or may not work with other databases.
Installation/Usage
pip install django_view_models- add
django_view_modelstoINSTALLED_APPS - define view models (see below)
python manage.py sync_view_models(run after every view definition change)
Defining View Models
You must define the fields on your model, and either define VIEW_DEFINITION or view_query on your model.
Note that just like regular models, django will add an integer primary key called id, unless you set primary_key=True on one of your fields.
from django.db import models
from django_view_models.models import ViewModel, MaterializedViewModel
class Book(models.Model):
title = models.TextField()
is_good = models.BooleanField()
# create a ViewModel with a manual query
class GoodBook(ViewModel):
title = models.TextField()
VIEW_DEFINITION = '''
SELECT id, title
FROM my_app.book
WHERE is_good = true
'''
# create a ViewModel, and use Django's ORM to create the query
class BadBook(ViewModel):
title = models.TextField()
def view_query():
return Book.objects.filter(is_good=False).values('id', 'title')
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_view_models-0.1.0.tar.gz.
File metadata
- Download URL: django_view_models-0.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.10.1 urllib3/1.26.7 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cc2d7ae4ac0c97890b0fcf59268b78c3842b457a1a1c88f613b20bbdd9965a2
|
|
| MD5 |
49c31333d6d865578603c60aaea5395a
|
|
| BLAKE2b-256 |
2fc71fb56ccbf82855ddc2ea6a8bb9181913bda516984d3309bb06e4b1fb7e88
|
File details
Details for the file django_view_models-0.1.0-py3-none-any.whl.
File metadata
- Download URL: django_view_models-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.10.1 urllib3/1.26.7 tqdm/4.64.1 importlib-metadata/4.8.3 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.5 CPython/3.6.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b1799de6c858a43be2947fd2bc29e83001dcb1603b8b218f9f28f14d04b3bd95
|
|
| MD5 |
2a3385667279cb5a1ec5950d51dcc13b
|
|
| BLAKE2b-256 |
887cb342967dc53e463d8ff4f796a85d678a47a0bfddc1db8440b9c3ee853291
|