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号