admin.ModelAdmin method

from django.contrib import admin

ModelAdmin.save_model(request, obj, form, change)

save_model方法被赋予HttpRequest,模型实例,ModelForm实例和布尔值,基于添加或更改对象。使用此方法让你可以在save前或后执行任何逻辑。

class UserInfoAdmin(admin.ModelAdmin):
    list_display = ["username", "password", "email", "get_news_nums"]
    list_filter = ["username", "password", "email"]

    def save_model(self, request, obj, form, change):
        print("====================================prev")
        obj.save()
        print("====================================after")

ModelAdmin.delete_model(request, obj)

delete_model方法给出了HttpRequest和模型实例。使用此方法让你执行删除前或删除后的逻辑操作。

 

ModelAdmin.get_ordering(request)

    动态排序。

class PersonAdmin(admin.ModelAdmin):

    def get_ordering(self, request):
        if request.user.is_superuser:
            return ['name', 'rank']
        else:
            return ['name']

 

ModelAdmin.get_search_results(request, queryset, search_term)

get_search_results方法将显示的对象列表修改为与提供的搜索项匹配的对象。它接受请求,应用当前过滤器的查询集以及用户提供的搜索项。它返回一个包含被修改以实现搜索的查询集的元组,以及一个指示结果是否可能包含重复项的布尔值。

 

posted @ 2017-06-09 14:06  Vincen_shen  阅读(378)  评论(0)    收藏  举报