python的django框架objects.filter(xxx__exact=xxx),在windows下的MySQL查询“准确查询”失效,查询结果没有唯一性
原因与解决
问题: 查询失效,结果并没有唯一性
user = models.User.objects.filter(username__exact=username)
原因: 在django框架下models.py下创建数据表时没有设置字段的敏感属性
class User(models.Model):
"""用户信息"""
id = models.AutoField(primary_key=True)
username = models.SlugField(unique=True, null=False, verbose_name='用户账号')
password = models.SlugField(max_length=256, unique=False, null=False, verbose_name='用户密码')
而在Navicat for MySQL手动建库时也没有设置库的属性。
注意: 字符集-utf8mb4才是真正的utf-8
注意: 排列规则一定要选择-utf8mb4_bin,如果没有选择到这个,就去表里面修改,–>设计表
注意: 如果是命令行建库请查看mysql字符串区分大小写的问题