亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何更改過濾器查詢集取決于用戶

如何更改過濾器查詢集取決于用戶

瀟湘沐 2022-10-06 18:46:05
我正在使用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)過濾器.pyshops = 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']視圖.pyf = ShopFilter(request.GET)
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

qs您可以在使用該方法返回之前過濾查詢集。

請參閱過濾主要的 `qs。

所以在你的情況下,你應該能夠說:

@property

def qs(self):

    parent = super().qs

    owner = getattr(self.request, 'user', None)


    return parent.filter(custom_user=owner)

尚未對此進行測試,但如果您想對查詢進行任何修改,這絕對是一種方法。


查看完整回答
反對 回復 2022-10-06
  • 1 回答
  • 0 關注
  • 119 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號