在 django admin 中创建对象时如何自动插入当前用户? [英] How to auto insert the current user when creating an object in django admin?

查看:33
本文介绍了在 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 中创建对象时如何自动插入当前用户?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆