Django 实现Admin自动填充当前用户的示例代码
作者:Nick_Spider 时间:2021-12-23 17:37:26
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/
来源:https://blog.csdn.net/weixin_39198406/article/details/87797314
标签:Django,Admin,自动填充,用户
0
投稿
猜你喜欢
ASP网站程序自动升级实现的方法
2008-10-15 14:28:00
asp内置对象Application详解
2007-09-19 12:08:00
基于PHP+MySQL的聊天室设计
2023-11-22 19:26:25
asp如何向前端显示用户请求的信息?
2010-06-09 18:52:00
解决TensorFlow调用Keras库函数存在的问题
2023-11-20 15:04:25
Pytorch反向求导更新网络参数的方法
2021-02-07 11:48:52
php 多继承的几种常见实现方法示例
2023-11-22 19:03:19
javascript封装的下拉导航菜单渐显效果
2007-08-04 20:11:00
把vgg-face.mat权重迁移到pytorch模型示例
2021-11-03 16:29:20
关于Python-pip安装失败问题及解决
2021-03-13 05:07:41
Python 用NumPy创建二维数组的案例
2021-11-23 22:27:48
Go获取与设置环境变量的方法详解
2023-06-21 04:35:10
完美的js验证网址url(正则表达式)
2008-06-07 09:36:00
python3处理word文档实例分析
2023-01-06 23:21:13
python中的opencv和PIL(pillow)转化操作
2023-04-01 18:54:46
python用分数表示矩阵的方法实例
2023-12-22 21:58:11
Python Django框架模板渲染功能示例
2023-03-12 17:39:03
通过Jython调用Python脚本的实现方法
2022-07-08 23:21:42
修复 jQuery 中 isFunction 方法的 BUG
2010-01-25 12:05:00
Access命令行参数
2007-08-23 15:35:00