Django中'max_length'的最大长度是多少?

ffdz8vbo  于 2022-11-19  发布在  Go
关注(0)|答案(5)|浏览(343)

这是我的模型:

class Position(models.Model):
    map = models.ForeignKey(Map,primary_key=True)
    #members=models.CharField(max_length=200)
    LatLng = models.CharField(max_length=40000)
    infowindow = models.CharField(max_length=40000)

但是它不能运行。max_length参数的最大大小是多少?

cygmwpex

cygmwpex1#

这取决于数据库后端。Django DB文档会告诉你,max_length=255保证一直工作。
如果您需要您在问题中指定的数量,我建议您使用TextField。

rnmwe5a2

rnmwe5a22#

请改用TextField

infowindow = models.TextField()
1szpjjfi

1szpjjfi3#

这取决于后端数据库。如果你使用MySQL 5.6,那么有一个65,535的限制。如果你使用以上,那么它也将允许1024,但不超过这个。

class Demo(models.Model):
    max_test = models.CharField(max_length=1024)

我在MySQL 5.7上运行了以上内容

hs1ihplo

hs1ihplo4#

这真的取决于你为模型使用的数据库,PostgreSQL、MySQL等有不同的设置和限制。
如果你真的需要一个长字符串或者不确定变量的长度,那么使用variable=models.TextField()总是安全的。

k3bvogb1

k3bvogb15#

从django文档中
如果您使用unique=True作为字段,则任何以VARCHAR数据行类型储存的字段,其max_length可能会限制为255个字符。这会影响CharFieldSlugField。如需详细信息,请参阅MySQL文件。
如果CharField是唯一的,则它的max_length是255个字符。否则,它在MySQL VARCHAR上的max_length是65535个字符。

相关问题