我想允许用户拥有自己的Video对象的管理界面。我打算编写一些视图,允许设置“已发布”或删除对象等属性。
我已经开始考虑使用django的管理站点了 - 但这似乎对我想要的东西过于复杂(只是删除/设置已发布的属性)。
一种方法比另一种更好吗?从头开始或使用管理站点写一些东西?
如果我从头开始写一些东西 - 实现ModelAdmin样式操作的正确方法是什么(即delete_selected(queryset,request))
答案 0 :(得分:4)
这正是管理员应该使用的!怎么会太复杂?即使编写一些HTML行也需要更长的时间。
如果您自己构建,无论多么简单,您都必须定义列出对象的视图,验证输入,检查权限,编写HTML,实现某种映射到python代码的多动作系统,... 。
假设您不想这样做:
您希望通过multiple admin sites 3>来制作overriding the queryset
method on a ModelAdmin
并将管理结果过滤到仅属于该用户的内容
# pasted from docs
class MyModelAdmin(admin.ModelAdmin):
def queryset(self, request):
qs = super(MyModelAdmin, self).queryset(request)
if request.user.is_superuser:
return qs
return qs.filter(author=request.user)