Я использую django-filter
, и у меня есть две модели CustomUser
и Shop
. Как изменить набор запросов, чтобы пользователь (request.user
) мог фильтровать только свои магазины?
Пользователь
class CustomUser(AbstractBaseUser, PermissionsMixin):
shop = models.ManyToManyField(Shop, blank=True, related_name='custom_user')
Магазин
class Shop(models.Model):
address = models.CharField(_('Address'), unique=True, max_length=64, blank=False, null=False, db_index=True)
filters.py
shops = Shop.objects.filter(is_active=True)
SHOP_CHOICES = [('All', 'All')]
for x in shops:
SHOP_CHOICES.append((x.address, x))
SHOP_CHOICES = tuple(SHOP_CHOICES)
class ShopFilter(django_filters.FilterSet):
address = django_filters.MultipleChoiceFilter(choices=SHOP_CHOICES)
class Meta:
model = Shop
fields = ['address']
views.py
f = ShopFilter(request.GET)