django-userel

Software Screenshot:
django-userel
Software Details:
Version: 0.0.3
Upload Date: 14 Apr 15
Developer: Alisue
Distribution Type: Freeware
Downloads: 19

Rating: 4.0/5 (Total Votes: 1)

django-userel is a Django app to 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

1. Append 'userel' to INSTALLED_APPS
2. 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)django-userel is a Django app to extend ForeignKey for User model.

Requirements:

  • Python
  • Django

Other Software of Developer Alisue

Comments to django-userel

Comments not found
Add Comment
Turn on images!