1271 - Illegal mix of collations for operation 'like'”错误解决方法

mysql中“1271 - Illegal mix of collations for operation 'like'”错误解决方法

time,date,datetime,timestamp 类型的字段在 select 查询时使用 like '%中文%' 会出现“1271 - Illegal mix of collations for operation 'like'”错误。

在MySQL 5.5以上的版本中,将模糊查询语句改成like binary '%中文%' 即可解决该错误。
--------------------- 
作者:www.wangpeng.cn 
来源:CSDN 
原文:https://blog.csdn.net/qq_34361514/article/details/82290326 
版权声明:本文为博主原创文章,转载请附上博文链接!

 django中 使用  shell不报错1271 - Illegal mix of collations for operation 'like'”错误解决方法

换到后台代码运行报错

def build_filters(self, filters=None):
    if filters is None:
        filters = {}

    orm_filters = super(SaleRequireSubmitResource, self).build_filters(filters)
    if 'query' in filters:
        query = filters['query']
        qset = (
            Q(organization__icontains=query) |
            Q(demand_id__icontains=query) |
            Q(customer_name__icontains=query) |
            Q(submit_date__icontains=query) |
            Q(sale__icontains=query)|
            Q(email_name__icontains=query)
        )
        if 'custom' in orm_filters:
            super_custom=orm_filters['custom']
            qset=super_custom&qset

        orm_filters.update({'custom': qset})
    return orm_filters

 将Q(submit_date__icontains=query) |   改成Q(submit_date__contains=query) |  去掉i就可以了