我有在UploadForm这一类的字段,它被认为是类实例的Django模型的Django的ModelForm ValueError异常
class Category(MPTTModel):
name = models.CharField(max_length=50, unique=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
def __unicode__(self):
return self.name
class MPTTMeta:
order_insertion_by = ['name']
和的ModelForm
class UploadForm(ModelForm):
file = forms.FileField()
category = mpttform.TreeNodeMultipleChoiceField(queryset=Category.objects.filter(lft=F('rght')-1))
class Meta:
model = UploadedFile
不过,我有问题(如definied在模型中),但我的查询集返回列表的类别对象,我在模板中使用,以显示所有的叶子类别。如果我选择表单上的任何类别,并提交它,我得到这个错误(如果我选择cat5)'不能分配[ Category:cat5]:“UploadedFile.category”必须是“Category”实例。' 所以我明白为什么会出现这个错误,但我想使用ModelForm因为save()方法,但是看不到我如何解决这个问题。任何建议?
这里是一个小更info.If我设置小部件= forms.SelectMultiple的类别我得到ValueError异常,但与小部件= forms.Select工程确定,但小部件是不是有什么我在找。 – Zed