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

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

FilterSet 未運行查詢

FilterSet 未運行查詢

躍然一笑 2023-06-13 16:09:04
我在將過濾器應用于 django 中的表時遇到了一些麻煩,當我應用過濾器(即單擊“搜索”)時沒有任何反應。沒有錯誤。沒有崩潰。納達。該表保持不變,就好像什么都沒發生一樣,盡管 url 確實改變了添加我應用的搜索字段。為了簡單起見,我將重命名變量、模型和所有內容的原始名稱。models.pyfrom django.db import modelsfrom other_app.models import CustomUserfrom another_app.models import OtherModelclass SomeThings(models.Model):? ? # default User was replaced with an AbstractUser model? ? user = models.OneToOneField(CustomUser, on_delete=models.PROTECT)?? ? id = models.CharField(max_length=10,primary_key=True)? ? thing_1= models.PositiveIntegerField(blank=False)? ? thing_2= models.PositiveIntegerField(blank=False)? ? image= models.ImageField(null=True, blank=True)class SomeStuff(models.Model):? ? id = models.OneToOneField(SomeThings, on_delete=models.PROTECT)? ? stuff_1 = models.CharField(max_length=255, blank=False)? ? stuff_2 = models.CharField(max_length=255, blank=False)? ? stuff_3 = models.ForeignKey(OtherModel, on_delete=models.PROTECT, null=True)class OtherInfo(models.Model):? ? id = models.OneToOneField(SomeThings, on_delete=models.PROTECT)? ? character_1 = models.CharField(max_length=255, blank=False)? ? character_2 = models.CharField(max_length=255, blank=False)filters.pyimport django_filtersfrom .models import *class myFilter(django_filters.FilterSet):? ? class Meta:? ? ? ? model = SomeStuff? ? ? ? fields = '__all__'? ? ? ? exclude = ['stuff_2','stuff_3']views.pyfrom django.shortcuts import renderfrom django.http import HttpResponsefrom .filters import myFilterdef search(request):? ? products = SomeStuff.objects.all()? ? filter= myFilter(request.GET,queryset=products)? ? product= filter.qs? ? context = {'products':products,'filter':filter,}? ? return render(request, 'search.html', context)基本上,用戶模型與模型 SomeThings 相關。后面的模型包含另一個用于 SomeStuff 和 OtherInfo 的 primary_key。在表格上,正在顯示來自 SomeStuff 和 OtherInfo 的信息,但是,我只想使用 SomeStuff 中指定的變量 stuff_1 來過濾表格。
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

我認為你必須product改變products


def search(request):

    products = SomeStuff.objects.all()


    filter= myFilter(request.GET,queryset=products)

    products= filter.qs  #this should be products instead of product


    context = {'products':products,'filter':filter,}

    return render(request, 'search.html', context)


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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