Userel is a extend ForeignKey for User model. It add auto_now and auto_now_add for setting current access user automatically.
Install
sudo pip install django-userel
or:
sudo pip install git+https://github.com/lambdalisue/django-userel.git#egg=django-userel
How to Use
Append ‘userel’ to INSTALLED_APPS
Add ‘userel.middlewares.UserelDefaultBackendMiddleware’ to your MIDDLEWARE_CLASSES if you use default userel backend
Example mini blog app
models.py:
from django.db import models
from django.contrib.auth.models import User
from userel.fields import UserelField
class Entry(models.Model):
PUB_STATES = (
('public', 'public entry'),
('protected', 'login required'),
('private', 'secret entry'),
)
pub_state = models.CharField('publish status', choices=PUB_STATES)
title = models.CharField('title', max_length=140)
body = models.TextField('body')
created_by = UserelField('created by', related_name='entries_create', auto_now_add=True)
updated_by = UserelField('updated_by', related_name='entries_update', auto_now=True)
Settings
- USEREL_BACKEND
Class or string path of backend. the backend is used to determine user when object is created/updated.
Backend
The default backend use thread_locals storategy to get current request in signal call.
If you want to change the strategy or whatever, create your own backend.
A backend is a class which have get_user method to determine current user.
- UserelDefaultBackend
Default backend. This backend return None when no request found or AnonymousUser create/update object.
- UserelSystemUserBackend
System user backend. This backend return system user when no request found or AnonymousUser create/update object.
system user is determined with get_system_user method and default is User.objects.get(pk=1)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-userel-0.0.3.tar.gz.
File metadata
- Download URL: django-userel-0.0.3.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ab4aec751854e562e770ff8e2c7fcf0873d4f6b22e65a66cd8071c5fa8cf564
|
|
| MD5 |
a6e507ddd2d8b4e235e98a2c8caf4e48
|
|
| BLAKE2b-256 |
d27ed8d56396e851405bcffdc7691b865d017006453567480147c50ee57936ac
|