gpt4 book ai didi

Django - 增加 FileField 长度

转载 作者:行者123 更新时间:2023-12-03 21:11:28 35 4
gpt4 key购买 nike

我正在尝试使用 FileField 存储文件,但文件目标的路径大于 100 个字符。如何增加允许的字符数?我试过 max_length=255 但没有用。

谢谢。

编辑:添加模型

class File(models.Model):
Record = models.ForeignKey(Records)
Title = models.CharField(max_length=255, blank=False)
File = models.FileField(upload_to='files/Records', blank=False)
Upload_date = models.DateTimeField(auto_now_add=True)

def __unicode__(self):
return self.Title

最佳答案

Django 文档清楚地表明 FileField接受一个可选参数来更改用于存储文件引用(文件名)的 varchar 列的长度。

Taken from the Django documentation here :

FileField instances are created in your database as varchar columns with a default max length of 100 characters. As with other fields, you can change the maximum length using the max_length argument.



为了利用这个 max_length参数,您只需将参数添加到模型的字段声明中,如下所示:
class File(models.Model):
Record = models.ForeignKey(Records)
Title = models.CharField(max_length=255, blank=False)
File = models.FileField(upload_to='files/Records', blank=False, max_length=500)
Upload_date = models.DateTimeField(auto_now_add=True)

def __unicode__(self):
return self.Title
max_lengthFileField Django 提供的在数据库级别强制执行。当您更改必须在数据库级别强制执行的模型定义时,您可能会发现必须使用 syncdb或迁移以在数据库中实现此更改。只需更改 max_length模型定义中的参数将不起作用,除非您随后迁移数据库以反射(reflect)此更改。

在这种特殊情况下,varchar 列表示存储在 FileField 中的文件的引用文件名。必须更新以允许更大长度的文件名。请确保您已经完成了必要的数据库维护,以确保您的模型的字段在您的数据库中忠实地表示。有关迁移的更多信息,请访问 here .

关于Django - 增加 FileField 长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26575635/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com