django postgresql OperationalError:索引行大小xxx超过最大yyy

时间:2014-04-13 16:45:28

标签: python django postgresql

我正在尝试学习一些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字符串或任何东西)?这就是我使用文本字段的原因..但这似乎没有帮助。

任何提示都将受到赞赏..

1 个答案:

答案 0 :(得分:1)

如果有人通过错误消息到达这里,对我来说就是这个unresolved bug

基本上,django TextField的大小可能很大,但是如果我们也使它唯一,那么唯一性检查就会中断。

建议的“修复程序”正在使用md5哈希进行唯一性检查。