简体   繁体   English

根据当前用户 django 模型 admin 过滤对象

[英]Filter objects based on th current user django model admin

Hello I am trying to filter objects in model inline admin based on a field in Profile models I have created with a OneToOneField with User the profile model has a field branch so I want to filter objects based on the logged-in user with respect to their branch你好我想基于在一个领域中的新型管道管理过滤对象Profile我有一个OneToOneField创建的模型User轮廓模型有田分公司,所以我想过滤器根据登录的用户相对于对象的分支

class ProductDetailInlineAdmin(admin.StackedInline):
    readonly_fields = ('created_date', 'generated_url')
    model = ProductDetail
    extra = 1

    def formfield_for_foreignkey(self, db_field, request, **kwargs):
        if db_field.name == "product":
            kwargs["queryset"] = ProductDetail.objects.filter(
                product=request.user.profile.branch_id)
        return super().formfield_for_foreignkey(db_field, request, **kwargs)

the product foreignkey still returns everything without filtering out the branch.产品外键仍然返回所有内容而不过滤掉分支。 How do I accomplish the filtering?我如何完成过滤?

def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == "product": kwargs["queryset"] = ProductDetail.objects.filter( product=request.user.profile.branch_id) return super().formfield_for_foreignkey(db_field, request, **kwargs)

我的问题是我将产品添加到自动完成字段,它返回了所有忽略过滤器的查询。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM