对于数字
等于
models.[表名].objects.filter(id=1)
大于
models.[表名].objects.filter(id__gt=1)
大于等于
models.[表名].objects.filter(id__gte=1)
小于
models.[表名].objects.filter(id__lt=1)
小于等于
models.[表名].objects.filter(id__lte=1)
对于字符串
以字符串开头
models.[表名].objects.filter([属性名]__startswith=[字符串])
以字符串结尾
models.[表名].objects.filter([属性名]__endswith=[字符串])
包含
models.[表名].objects.filter([属性名]__contains=[字符串])
利用字典筛选
value = request.GET.get('q')
data_dict = {'User_name__contains': value}
queryset = models.User.objects.filter(**data_dict)
改进版(假如无输入)
data_dict = {}
value = request.GET.get('q')
if value:
data_dict['User_name__contains'] = value
queryset = models.User.objects.filter(**data_dict)