django-admin中将文件上传人设置为当前用户
1 准备一个model。
from django.db import models
class File_Info(models.Model):
"""
文件信息
"""
# 序号
nid = models.AutoField(primary_key=True,verbose_name='序号')
# 文件
file = models.FileField(null=False, upload_to='.rule_set/%Y/%m/%d',verbose_name='文件',max_length=256)
# 上传者
author = models.CharField(max_length=20,null=True,verbose_name="上传者")
2 在admin中进行修改设置。
from django.contrib import admin
from load.models import File_Info # 导入数据包
class FileInfoAdmin(admin.ModelAdmin):
# 自动生成该表下的author字段数据
def save_model(self, request, obj, form, change):
if not change:
obj.author = request.user # request.user为当前登录用户
obj.save()
admin.site.register(File_Info,FileInfoAdmin) # 注册
3 效果。
文件上传时未选择上传用户,如下图所示。
用户上传后默认为当前用户,如下图所示。
文章中所用方法是引用有个大佬的方法,我找不到大佬文章的链接了,如果有知道的读者可以私信我,我加上转载地址。
有问题欢迎在评论区讨论。