Фильтровать объекты на основе текущего пользователя django модель администратора - PullRequest
0 голосов
/ 28 марта 2020

Здравствуйте. Я пытаюсь отфильтровать объекты в встроенном администраторе модели на основе поля в 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)

иностранный ключ продукта по-прежнему возвращает все без фильтрации ветви. Как мне выполнить sh фильтрацию?

1 Ответ

0 голосов
/ 04 апреля 2020
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)

Моя проблема заключалась в том, что я добавил продукт в поле автозаполнения, и он вернул все запросы, игнорируя фильтр.

...