【发布时间】:2019-01-16 20:49:48
【问题描述】:
django==1.11.9
mysql 版本 5.6.38
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
我的数据中有一个重音字段,我设置了唯一字段。但是,查询中会出现多个结果。虽然我知道你可以通过ALTER TABLE test DEFAULT COLLATE utf8_bin; 设置表格属性。但我认为更好的方法是通过查询添加条件SELECT * FROM test WHERE name = 'a' collate utf8_bin;。
现在我不知道如何在 queryset 方法中使用它。我在插入数据的时候通常使用update_or_create()方法,这会直接导致一些其他表格(带重音)的数据没有插入进去。
这个查询条件可以在Django的queryset方法中扩展吗?
【问题讨论】:
-
我认为这需要
raw查询。 -
stackoverflow.com/questions/22841132/… 也许这会有所帮助。