Simple reusable django app for basic model functionality
Project description
Installation
pip install django-basis
Python versions: 2.6, 2.7, 3.2, 3.3
Support Django Customer User
Usage of TimeStampModel
Adds created_at and updated_at to models.
from basis.models import TimeStampModel
class Person(TimeStampModel):
name = models.Charfield(max_length=50)
person = Person.objects.create(name="Fredrik"))
print person.created_at # datetime object1
person.name = "Rolf"
person.save()
print person.created_at # (datetime at the moment of the creation)
print person.updated_at # (datetime at the moment of the update)
Usage of PersistentModel
Safe deletion of objects.
from basis.models import PersistentModel
class Person(PersistentModel):
name = models.Charfield(max_length=50)
person = Person.objects.create(name="Fredrik"))
# SafeDelete person (safe delete)
person.delete()
print Person.objects.all().count() # 0 - excludes deleted users
print Person.all_objects.all().count() # 1 - includes deleted users
# Restore deleted person
person = Person.all_objects.get(id=person.id)
person.restore()
# If you really want to delete the object
person = Person.objects.create(name="Fredrik"))
person.delete(force=True)
Usage of BasisModel
Includes the functionality of both PersistentModel and TimeStampModel, while adding the fields created_by and updated_by.
from basis.models import BasisModel
class Person(BasisModel):
name = models.Charfield(max_length=50)
# Save changes on objects and register who did it
person = Person.objects.get(id=id)
person.name = "Fredrik"
person.save(current_user=request.user)
# Or create a new object and register who did it
person = Person.objects.create(name="Fredrik", current_user=request.user)
# See meta info about the object
print person.created_by # user object (creator)
print person.updated_by # user object (updater)
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
django-basis-0.3.3.tar.gz
(4.2 kB
view hashes)
Built Distribution
Close
Hashes for django_basis-0.3.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d332919c3d5d5059cfda22f6dd8171301cb3b068502d2f8212a30691c898d51b |
|
MD5 | 4118cbe3fdbf8f53bfa3294e6b21e2d4 |
|
BLAKE2b-256 | 66eeb367bee554e98faea57e8b2595090dd396576c3a4a9e5115696e428596c1 |