Skip to main content

django-tortoise

This python package is the simplest way to use Tortoise ORM in an existing (maybe not) Django project that uses sqlite or PostgreSQL databases

Features

  • Saving all Django ORM advantages (migrations - the biggest one)

  • Monkey patching existing Django models with generated on-the-fly Tortoise ORM models

  • Generated Tortoise ORM models have the same behavior as Django models (fields behavior)

  • Support all Django models fields and validators added to them (except FileFiled, FilePathField, ImageField)

  • Support default database only (DATABASES[‘default’] from the setting.py)

  • You can use Django models or Tortoise ORM models when you want (use Django models when it’s more suitable than usage of Tortoise ORM models)

  • There are enough limitations that are not described here, so most likely some thing is not supported (pre-alpha release =)

  • Easy to use - just one line of code… Okay, two ;)

Quickstart

Install django-tortoise:

pip install django-tortoise

Modify the asgi.py in the main Django project folder:

import os

from django.core.asgi import get_asgi_application
from django_tortoise import get_boosted_asgi_application  # first line

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'proj.settings')

application = get_asgi_application()

# get_boosted_asgi_application function monkey patch all registered apps models;
# each model will has abjects attribute (the objects attribute was not modified),
# which is a Tortoise model actually
application = get_boosted_asgi_application(application)  # second line

Now you can use all valid Tortoise ORM queries via <model>.abjects attribute:

await ModelA.abjects.get(id=id)

Running Tests

$ tox

Metadata

Release files for django-tortoise 0.0.1

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

Built distribution (wheel)

Table of built distributions (wheels) for django-tortoise 0.0.1
File Interpreter ABI Platform
django_tortoise-0.0.1-py3-none-any.whl Python 3 none any Details

Release files / django_tortoise-0.0.1-py3-none-any.whl

Download URL django_tortoise-0.0.1-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d453eeaa9c875293b881c9f77e8a7532ca59b1f7c2fa82ea801f13e3288f6d01
BLAKE2b-256 checksum
How to use checksums
33855cb24fc0c07250326ee90b606b325db8e8221cb6dbd17d79de430dfbd67c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.15

Release history Release notifications | RSS feed

This release

0.0.1 This release

1 release file

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