【问题标题】:How to override Django Admin如何覆盖 Django 管理员
【发布时间】:2016-09-09 09:57:43
【问题描述】:

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

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

【问题讨论】:

    标签: python django overriding admin


    【解决方案1】:

    您需要重写的方法称为get_queryset,而不是queryset

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-09
      • 2016-09-04
      • 1970-01-01
      • 2019-07-16
      • 2013-02-18
      • 2018-02-06
      • 1970-01-01
      相关资源
      最近更新 更多