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