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

AJW*_*AJW 5 python django postgresql

我正在尝试学习django并尝试在数据库中插入一些值(使用模型形式),但这似乎失败了:

django.db.utils.OperationalError: index row size 3008 exceeds maximum 2712 for index "appname_mymodel_ggg_like"
Run Code Online (Sandbox Code Playgroud)

我的模型非常简单,看起来像这样:

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
Run Code Online (Sandbox Code Playgroud)

这是否意味着字符串很长(是的,但是不是1MB的字符串或其他东西)?这就是我使用文本字段的原因。但这似乎无济于事。

任何提示将不胜感激。

Dav*_*han 1

如果有人通过错误消息到达这里,对我来说就是这个未解决的错误

基本上,django TextField 的大小可能很大,但如果我们也使其唯一,则唯一性检查可能会被破坏。

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