如何在 Django 的模型中过滤文本字段
How to filter through textfield in models in django
我正在尝试在我的 Django 项目中创建一个小的搜索功能,我需要过滤我的数据
我的模型都是文本字段格式,当我尝试使用 .filter() 搜索我想要的内容时,我在 visual code studio 上收到一条错误消息说 "instance of textfield has no filter member"。有什么办法可以解决这个问题吗?
#My Model
class api_data(models.Model):
data_source = models.TextField()
brief_description_of_data = models.TextField()
datasets_available = models.TextField()
brief_description_of_datasets = models.TextField()
country = models.TextField()
api_documentation = models.TextField()
#what I'm trying to do
def index(request):
query = request.Get.get('q')
if query:
queryset_list = api_data.datasets_available.filter(Q(datasets_available__icontains=query))
你filter
模型对象不是字段
queryset_list = api_data.objects.filter(Q(datasets_available__icontains=query))
您不需要 Q
:
这将起作用:
queryset_list = api_data.objects.filter(datasets_available__icontains=query)
我正在尝试在我的 Django 项目中创建一个小的搜索功能,我需要过滤我的数据
我的模型都是文本字段格式,当我尝试使用 .filter() 搜索我想要的内容时,我在 visual code studio 上收到一条错误消息说 "instance of textfield has no filter member"。有什么办法可以解决这个问题吗?
#My Model
class api_data(models.Model):
data_source = models.TextField()
brief_description_of_data = models.TextField()
datasets_available = models.TextField()
brief_description_of_datasets = models.TextField()
country = models.TextField()
api_documentation = models.TextField()
#what I'm trying to do
def index(request):
query = request.Get.get('q')
if query:
queryset_list = api_data.datasets_available.filter(Q(datasets_available__icontains=query))
你filter
模型对象不是字段
queryset_list = api_data.objects.filter(Q(datasets_available__icontains=query))
您不需要 Q
:
这将起作用:
queryset_list = api_data.objects.filter(datasets_available__icontains=query)