Django 保存文章时自动填充当前用户

wangteng532020-07-31 20:10

Django 保存文章时自动填充当前用户, Django admin 后台可以设定不让修改User或者干脆就不显示。

第一步,在当前app(我这里是article)下的models.py下代码:

from django.db import models
from django.contrib.auth.models import User


class Article(models.Model):
    
    ###  其它代码  ###
    author = models.ForeignKey(User, verbose_name=u'作者', on_delete=models.CASCADE, editable=False, null=True)

    ###  其它代码  ###

第二步,然后在修改当前app下的admin.py

from django.contrib import admin
from .models import Article

class ArticleAdmin(admin.ModelAdmin):

    def save_model(self, request, obj, form, change):
        obj.author = request.user #关键代码
        super().save_model(request, obj, form, change)


admin.site.register(Article, ArticleAdmin)

好了大功告成。

看着简单,当时鬼知道我看了多少文档(手动狗头)。

小教程(本文)仅供参考学习,如用于商业带来的问题,本站概不负责。
关注公众号
关注公众号

©2020 IT自习室京ICP备20010815号