Skip to main content

Variable orm with django admin support

Project description

varorm - variables orm with django admin support

v0.1 - Basic models and Django admin support

v0.1.1 - Add groups access to variables and verbose_name for django admin, setup key on init of model

v0.1.2 - Add MongoStorage

v0.1.4 - New storage in django model

v0.1.5 - Fixed datetime and date fields, added init_load param and update method

v0.1.6 - Bug fix

TODO - refactor django widgets, better type-hints

Documentation

from varorm.models import Model
from varorm import fields
from varorm.storage import JsonStorage
from varorm.exceptions import VarDoesNotExistException

storage = JsonStorage(path="test.json")

class TestModel(Model):
    a = fields.IntegerField(default=1)
    b = fields.CharField(null=True)
    c = fields.FloatField()

    class Meta: # optional
        key = 'test' # key in storage for current model


TestModel.connect(storage)

print(TestModel().a) # >> 1
print(TestModel().b) # >> None
print(TestModel().c) # >> VarDoesNotExistException

TestModel().a = 5
print(TestModel().a) # >> 5

# Also u can change key in time of using model:
print(TestModel(key='test2').a) # >> 1

storage.save() # for file base storages

Django-Documentation

variables.py in your app(the same where models.py)

from varorm.models import Model
from varorm import fields

class TestModel(Model):
    a = fields.IntegerField(default=1)
    b = fields.CharField(null=True)
    c = fields.FloatField(verbose_name="Test C")

    class Meta: # optional
        key = 'test' # key in storage for current model
        groups = ['TestGroups'] # groups who have access to this model, __all__ for access to everyone
        verbose_name = 'TestNameOfModel' # the name of model in django admin

settings.py

INSTALLED_APPS = [
    ...
    "varorm.dj",
    ...
]
VARORM_STORAGE = 'varorm.storage.RedisStorage' # import path to storage
VARORM_STORAGE_CONFIG = {
    "url": "redis://localhost:6379/3"
} # storage init config

Now in your django admin you will find VARORM app, enjoy!

Important: when you use FileStorage(JsonStorage or PickleStorage) put {"save_on_set": True} in VARORM_STORAGE_CONFIG

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

varorm-0.1.6.tar.gz (18.4 kB view details)

Uploaded Source

File details

Details for the file varorm-0.1.6.tar.gz.

File metadata

  • Download URL: varorm-0.1.6.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for varorm-0.1.6.tar.gz
Algorithm Hash digest
SHA256 0beca315414e198866d163515a08f2ebf3411f67ec2f3ef01f306c8878073f79
MD5 193e1dd7754786788c6c505a1c7af3fc
BLAKE2b-256 f780e51888ffcc513cbbf7d3301dbbafe3195e4fc019d749d25e8116ad6b6aa2

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