【发布时间】:2017-09-08 15:16:36
【问题描述】:
我有一个具有唯一约束(或者更确切地说是 unique_together)的模型:
class ReadingMapping(models.Model):
mapset = models.ForeignKey('mapping.ReadingMapset')
data = models.CharField(max_length=500, verbose_name="attributes")
class Meta:
unique_together = ('mapset', 'data')
但是,因为我使用 MYSQL 作为后端,所以比较不区分大小写,因为排序规则/字符集是 MYSQL 或 Django 的默认值(正确吗?),我需要区分大小写。
通过阅读我收集到这不能直接在 Django 模型中,因此我需要更改数据库中的表(参见 this SO question)
我的第一个问题是更改表或更改列的正确 SQL 语句是什么。我不确定是否需要更改字符集或只是排序规则,或者尽管阅读了各种来源,但我应该将其设置为哪个字符集/排序规则。
我的第二个问题是如何使迁移成为迁移的一部分(我们将有几十个数据库),我可以创建一个带有 SQL 语句的任意迁移文件吗?
【问题讨论】: