How to auto insert the current user when creating an object in django admin?(在 django admin 中创建对象时如何自动插入当前用户?)
问题描述
我有一个文章数据库
submitter = models.ForeignKey(User, editable=False)
其中User
导入如下:
from django.contrib.auth.models import User.
我想在特定用户提交文章时将当前活跃用户自动插入到提交者字段中.
I would like to auto insert the current active user to the submitter field when a particular user submits the article.
大家有什么建议吗?
推荐答案
以防万一有人在寻找答案,这是我在这里找到的解决方案:http://demongin.org/blog/806/
Just in case anyone is looking for an answer, here is the solution i've found here: http://demongin.org/blog/806/
总结一下:他有一个作文表如下:
To summarize: He had an Essay table as follows:
from django.contrib.auth.models import User
class Essay(models.Model):
title = models.CharField(max_length=666)
body = models.TextField()
author = models.ForeignKey(User, null=True, blank=True)
其中多用户可以创建论文,所以他创建了一个admin.ModelAdmin类,如下:
where multiuser can create essays, so he created a admin.ModelAdmin class as follows:
from myapplication.essay.models import Essay
from django.contrib import admin
class EssayAdmin(admin.ModelAdmin):
list_display = ('title', 'author')
fieldsets = [
(None, { 'fields': [('title','body')] } ),
]
def save_model(self, request, obj, form, change):
if getattr(obj, 'author', None) is None:
obj.author = request.user
obj.save()
这篇关于在 django admin 中创建对象时如何自动插入当前用户?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 django admin 中创建对象时如何自动插入当前用户?


基础教程推荐
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 筛选NumPy数组 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01