1
zeq 2014-10-12 16:06:16 +08:00
你的代码是怎样的
|
3
larkifly OP @zeq
usable = CarCardList.objects.filter(car_card__iexact=code) usable = CarCardList.objects.filter(car_card__exact=code) class CarCardList(models.Model): car_card = models.CharField(max_length=255, unique=True) is_used = models.BooleanField(default=False) get_from = models.ForeignKey(Merchant) used_time = models.IntegerField(null=True) user = models.ForeignKey(User, null=True) def __unicode__(self): return self.car_card 这两个方法都没用,环境是windows mysql |
4
zeq 2014-10-13 11:16:23 +08:00 1
这是因为mysql的查询默认是不区分大小写的,你可以在匹配语句钱加上 BINARY 来区分大小写,例如
SELECT * WHERE BINARY title='django'; 可以供你参考的一个方法是: CarCardList.objects.extra(where=['binary car_card=%s'], params=[code]) https://docs.djangoproject.com/en/dev/ref/models/querysets/#extra |
5
y10n 2014-10-13 11:18:50 +08:00
数据库看看呢
如果类似 utf8_general_ci 改成 utf8_general_cs __exact用的是= __iexact用的是LIKE,效率也考虑下哦 |
6
iewgnaw 2014-10-13 11:32:44 +08:00
应该是数据库大小写不敏感,你直接用数据库命令查询试试看呢
|
7
wuxianglong 2014-10-13 16:13:25 +08:00
数据库不支持大小写敏感
|