如何覆盖Django Admin

时间:2016-09-09 09:57:44

标签: python django override admin

我有两种型号的餐厅和细节。超级用户为每个餐馆分配用户。当该用户登录管理员时,我只想要显示与该用户的餐馆相关联的那些细节,并且他也应该能够编辑它们。 我试图覆盖管理员的查询集功能,但没有成功。任何帮助将不胜感激。这就是我到目前为止所做的事情

我只是Django的初学者。

class RestaurantAdmin(admin.ModelAdmin):
    model = Details

    def save_model(self, request, obj, form, change):
        obj.user = request.user
        super(RestaurantAdmin, self).save_model(request, obj, form, change)

    def queryset(self, request):
        print(request.user)
        qs = super(ResaturantAdmin, self).queryset(request)
        # If super-user, show all comments
        if request.user.is_superuser:
          return qs
        return qs.filter(owner=request.user)




admin.site.register(Restaurant)
admin.site.register(Details,RestaurantAdmin)

1 个答案:

答案 0 :(得分:0)

您需要覆盖的方法称为get_queryset,而不是queryset