Django 实现Admin自动填充当前用户的示例代码
更新时间:2019年11月18日 10:01:14 作者:Nick_Spider
今天小编就为大家分享一篇Django 实现Admin自动填充当前用户的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
model.py
import datetime
from django.contrib.auth.models import User
from django.db import models
class Entry(models.Model):
title = models.CharField(max_length=250)
slug = models.SlugField()
pub_date = models.DateTimeField(default=datetime.datetime.now)
author = models.ForeignKey(User, related_name='entries')
summary = models.TextField(blank=True)
body = models.TextField()
class Meta:
get_latest_by = 'pub_date'
ordering = ('-pub_date',)
verbose_name_plural = 'entries'
def __unicode__(self):
return self.title
def get_absolute_url(self):
return "/weblog/%s/%s/" % (self.pub_date.strftime("%Y/%b/%d"),
self.slug)
admin.py
from django.contrib import admin
from blog.models import Entry
class EntryAdmin(admin.ModelAdmin):
exclude = ('author',)
list_display = ('title', 'pub_date', 'author')
prepopulated_fields = { 'slug': ['title'] }
def has_change_permission(self, request, obj=None):
has_class_permission = super(EntryAdmin, self).has_change_permission(request, obj)
if not has_class_permission:
return False
if obj is not None and not request.user.is_superuser and request.user.id != obj.author.id:
return False
return True
def queryset(self, request):
if request.user.is_superuser:
return Entry.objects.all()
return Entry.objects.filter(author=request.user)
def save_model(self, request, obj, form, change):
if not change:
obj.author = request.user
obj.save()
admin.site.register(Entry, EntryAdmin)
参考链接:https://www.b-list.org/weblog/2008/dec/24/admin/
以上这篇Django 实现Admin自动填充当前用户的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
opencv函数threshold、adaptiveThreshold、Otsu二值化的实现
这篇文章主要介绍了opencv函数threshold、adaptiveThreshold、Otsu二值化的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-03-03
Python实现读取.nc数据并提取指定时间与经纬度维度对应的变量数值
这篇文章主要为大家详细介绍了如何使用Python语言的netCDF4库实现读取.nc格式的数据文件,并提取指定维(时间、经度与纬度)下的变量数据,需要的可以了解下2024-02-02
使用virtualenv创建Python环境及PyQT5环境配置的方法
这篇文章主要介绍了使用virtualenv创建Python环境及PyQT5环境配置的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-09-09


最新评论