TypeError:__ init __()得到了一个意外的关键字参数类别

时间:2013-05-13 15:13:55

标签: python django django-models

我正在创建一个基本应用,我的客户端可以通过该应用上传文件。然后,它将为他们提供一个URL,以便他们可以将图像/ pdf等添加到网站的内容中。我想做的是有不同的类别选择,所以当他们上传文件时,他们选择文件类型。因此,如果他们选择图像'文件将上传到ima​​ges目录,依此类推。

到目前为止,这是我的代码,我已经去运行python manage.py syncdb将模型添加到数据库中,但是出现了上述错误。

CATEGORY_CHOICES = (
        ('Image', 'Image'),
        ('PDF', 'PDF')
    )

file_type = models.CharField(category=CATEGORY_CHOICES, help_select="Please select a file type", default=IMAGE)
file_upload = models.FileField(upload_to="media/images")

def save(self, *args, **kwargs):    
    if self.file_type == 'Image':
        self.file.upload_to("media/images/filesApp")
    elif self.file_type == 'PDF':
        self.file.upload_to("media/pdf/filesApp")
    else:
        self.file.upload_to("media/filesApp")

    return super(File,self).save(*args, **kwargs)

1 个答案:

答案 0 :(得分:5)

在您的表单中,

file_type = models.CharField(category=CATEGORY_CHOICES, help_select="Please select a file type", default=IMAGE)

category=CATEGORY_CHOICES

应该是

choices=CATEGORY_CHOICES