我们现在要在添加文章的时候,要选作者是谁,保存后如果还能顺便改作者,这样很不友好,能不能设计谁创建就默认作者就是他呢?而后不能在修改作者呢?

我们需要在admin.py中进行如下修改:

7、实现谁创建的博文,就默认他是作者

截图:

7、实现谁创建的博文,就默认他是作者

附代码:

在admin.py中

from django.contrib import admin
from blog.models import Blog
# Register your models here.

@admin.register(Blog)
class BlogAdmin(admin.ModelAdmin):
    # list_display用于设置列表页面要显示的不同字段
    list_display = ['title','author','author_name','author_last_name','author_email']
    # search_fields用于设置搜索栏中要搜索的不同字段
    search_fields = ['title','author__username','content']
    #   默认作者,不能随便修改作者,readonly_fields表示只能读取当今设置的字段
    readonly_fields = ['author']

    def save_model(self, request, obj, form, change):
        # 如果不是修改,那就是"新建"的时候
        # change=False时代表这个记录是新建的,为True表示这个记录执行修改
        if not change:
            obj.author = request.user
            super(BlogAdmin,self).save_model(request,obj,form,change)



相关文章:

  • 2021-11-27
  • 2021-04-29
  • 2022-12-23
  • 2022-12-23
  • 2021-11-24
  • 2022-02-04
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-13
相关资源
相似解决方案