У меня есть 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
Однако, у меня проблема с этой категорией полем в UploadForm который должен быть экземпляром Категории (как определяемом в Model), но мой список возврата запроса для объектов категории, которые я использую в шаблоне, чтобы показать все категории листьев. Если я выберу любую категорию в форме и отправлю ее, я получу эту ошибку (в случае, если я выберу cat5) «Невозможно назначить [ Категория: cat5]: «UploadedFile.category» должен быть экземпляром «Категория». Так что я понимаю, почему эта ошибка происходит, но я бы хотел использовать ModelForm из-за метода save(), но не вижу, как я могу исправить это. Все предложения?
Вот немного больше info.If Я установил виджет = forms.SelectMultiple для категории я получаю ValueError, но с виджетом = forms.Select работает нормально, но этот виджет не то, что Я ищу. – Zed