2
我有簡單的模型在Django:奇怪不區分大小寫選擇行爲的Django + mysql的
class Tag(Model):
name = CharField(unique=True, max_length=50)
當我這樣做:
t = 'Ansible'
print("Want tag: " + t)
tg, created = Tag.objects.get_or_create(name=t)
print("Got tag: " + tg.name)
print("Query: {}".format(Tag.objects.filter(name=t).query))
print("Query result: {}".format(Tag.objects.filter(name=t).first().name))
我得到的結果:
Want tag: Ansible
Got tag: ansible
Query: SELECT `main_tag`.`id`, `main_tag`.`slug`, `main_tag`.`name`, `main_tag`.`added_time`, `main_tag`.`public_tips_count`, `main_tag`.`private_tips_count` FROM `main_tag` WHERE `main_tag`.`name` = Ansible
Query result: ansible
我用Django==1.10.3
和
# mysql --version
mysql Ver 14.14 Distrib 5.5.34, for debian-linux-gnu (armv7l) using readline 6.2
我期待什麼?
我從get_or_create
這將創建一個名爲Ansible
新標籤期待,但它返回命名爲ansible
謝謝!,對我很失望=( – user3479125
不用擔心,很高興能得到幫助。 – e4c5