如何覆盖 Django 管理

How to override Django Admin

我有两个模型 Restaurant 和 Details。超级用户为每个餐厅分配一个 user.When 用户登录到管理员我只希望显示与该用户的餐厅相关的详细信息,他也应该能够编辑它们。 我试图覆盖管理员的查询集功能,但没有 success.Any 帮助将不胜感激。这是我到目前为止所做的

我只是 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)

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