如何在 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))

https://docs.djangoproject.com/en/2.2/topics/db/queries/

您不需要 Q: 这将起作用:

queryset_list = api_data.objects.filter(datasets_available__icontains=query)