跳转到主要内容

扩展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

如何使用

  1. 将‘userel’添加到`INSTALLED_APPS`

  2. 如果您使用默认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 (14.9 kB 查看哈希值)

上传时间 源代码

由以下支持