This is a Django wrapper to make it easier to write raw SQL queries.
Project description
dj-raw-sql
dj-raw-sql is just a wrapper over the standard Django query
This demo shows how to get the record(s) from the database
Example:
def get_music_by_id(id: int):
return "SELECT * FROM dj_app_music WHERE id = %s", (id,)
from django.db import models
# Our demo model
class Music(models.Model):
name = models.CharField(max_length=150)
create_at = models.DateTimeField(auto_now_add=True)
update_at = models.DateTimeField(auto_now=True)
is_delete = models.BooleanField(default=False)
from django.http import JsonResponse
from django.views import View
from my_app.queries import get_music_by_id
from dj_raw_sql import QueryExecutor
class MyView(View):
def get(self, request, *args, **kwargs):
music: tuple[tuple] = QueryExecutor.fetchone(get_music_by_id, id=1)
return JsonResponse({"name": music[0][1]})
Benchmarks
Q: How were performance tests conducted?
A: tests/test_collection/ performance tests are located here. A dataset of 5000 elements was generated and loaded into the database. Then the query "SELECT * FROM dj_app_music LIMIT %s" was called, where the value of LIMIT changed from 10 to 5000 in each test.
Test results
| Number of items | fetchall | to_ordereddict=True |
|---|---|---|
| 10 | 0.00006 | 0.00011 |
| 100 | 0.00017 | 0.00025 |
| 1000 | 0.00138 | 0.00207 |
| 5000 | 0.00658 | 0.01052 |
Improve project
If you want to improve the project then create "Issues" . If you want to help with writing tests or typing, create a "pull request".
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
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 dj_raw_sql-3.0.0.tar.gz.
File metadata
- Download URL: dj_raw_sql-3.0.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.0 CPython/3.12.0 Linux/6.2.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3746d746223202bd9b8848b0d1f6ebb278643ba85440032fc3d9533ab2ae57ad
|
|
| MD5 |
24a120a5fba4c4f9e89ac11b9d35e470
|
|
| BLAKE2b-256 |
b9120d05a0d79369eb36d7a19b7827dab8d91194748d4cb6674f1c63c50bd3ec
|
File details
Details for the file dj_raw_sql-3.0.0-py3-none-any.whl.
File metadata
- Download URL: dj_raw_sql-3.0.0-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.0 CPython/3.12.0 Linux/6.2.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59c06b5b63a790a190dd6e126212255b37bb3f12aa0ba6b594c0b838a1b19c8e
|
|
| MD5 |
7f976215d7c500e24db52b2743848451
|
|
| BLAKE2b-256 |
2dd527a3c8025d15adfce72904c7c6e47876497aff43d2a9c096399ab1184839
|