【发布时间】:2012-09-27 21:00:27
【问题描述】:
我正在使用 django 1.4 并使用 django 模型的文件字段通过 modelform 上传一些文档。我有以下问题:
当我提交表单时,它说:
Data truncated for column 'file_name' at row 1
以下是我的模型:
class App(models.Model):
user_name=models.CharField(max_length=50)
email=models.CharField(max_length=50)
status=models.CharField(max_length=10,choices=APPLICATIONSTATUSCHOICE)
archived=models.BooleanField()
mark_spam=models.BooleanField()
date=models.DateField()
file_name=models.FileField(upload_to=PATH+"/")
def getPath(self):
return PATH
def __unicode__(self):
return self.user_name
def send_email(self):
pass
这是模型形式的代码:
class AppForm(ModelForm):
class Meta:
model=App
exclude=('status','archived','mark_spam')
email=forms.EmailField()
def save(self,commit=True):
app=super(AppForm,self).save(commit=False)
app.status='sent'
app.save()
它还使用原始名称存储文件,我可以使用独特的名称,因为我来自 PHP 背景,在 PHP 中我通常将其保存为 <mysql auto id>.<filextension>,那么我该如何在 django 中进行操作。我的第一印象是,所有这些都将通过 django 自动完成,而它只是用自己选择的名称保存它,但我需要将名称保存到 db 中,所以想根据我的选择命名它们。怎么做?我的代码中有什么问题导致上述错误?
【问题讨论】:
标签: django django-models django-forms django-file-upload