扩展User模型的ForeignKey字段。它支持`auto_now`和`auto_now_add`
项目描述
Userel是为User模型扩展的ForeignKey。它添加了`auto_now`和`auto_now_add`来自动设置当前访问用户。
安装
sudo pip install django-userel
或
sudo pip install git+https://github.com/lambdalisue/django-userel.git#egg=django-userel
如何使用
将‘userel’添加到`INSTALLED_APPS`
如果您使用默认userel后端,请将‘userel.middlewares.UserelDefaultBackendMiddleware’添加到您的`MIDDLEWARE_CLASSES`
示例迷你博客应用
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)
设置
- USEREL_BACKEND
后端类或字符串路径。后端用于确定在对象创建/更新时使用的用户。
后端
默认后端使用`thread_locals`策略在信号调用中获取当前请求。
如果您想更改策略或任何其他内容,请创建自己的后端。
后端是一个类,它有一个`get_user`方法来确定当前用户。
- UserelDefaultBackend
默认后端。当找不到请求或创建/更新对象时,该后端返回None。
- UserelSystemUserBackend
系统用户后端。当找不到请求或创建/更新对象时,该后端返回系统用户。
系统用户通过`get_system_user`方法确定,默认为`User.objects.get(pk=1)`
项目详情
关闭
django-userel-0.0.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7ab4aec751854e562e770ff8e2c7fcf0873d4f6b22e65a66cd8071c5fa8cf564 |
|
MD5 | a6e507ddd2d8b4e235e98a2c8caf4e48 |
|
BLAKE2b-256 | d27ed8d56396e851405bcffdc7691b865d017006453567480147c50ee57936ac |