微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

任何提示将不胜感激..

解决方法:

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

基本上django TextField的大小可能很大,但如果我们将其设置为唯一,则唯一性检查可能会中断.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐