我正在尝试学习一些django并尝试在数据库中插入一些值(使用模型表单),但这似乎没有引用:
django.db.utils.OperationalError: index row size 3008 exceeds maximum 2712 for index "appname_mymodel_ggg_like"
我的模型很简单,看起来像这样:
class myModel(TimeStampedModel):
fff = models.URLField(db_index=False, blank=False,primary_key=False)
ggg = models.TextField(db_index=False, blank=False,primary_key=False)
mj = models.BooleanField(db_index=False, blank=False, primary_key=False, default=False) # req field
def __unicode__(self):
return self.fff
这是否意味着字符串很长(是的,但不是1MB字符串或任何东西)?这就是我使用文本字段的原因..但这似乎没有帮助。
任何提示都将受到赞赏..
答案 0 :(得分:1)
如果有人通过错误消息到达这里,对我来说就是这个unresolved bug。
基本上,django TextField的大小可能很大,但是如果我们也使它唯一,那么唯一性检查就会中断。
建议的“修复程序”正在使用md5哈希进行唯一性检查。