我試圖創建一個新的主題,並在客戶端JavaScript中動態確定類別ID。我遇到的問題是我傳遞類別ID,我想查找正確的類別對象,但使用模型表單,它會檢查該類別是否爲類別實例,然後才能分配並保存它。Django ModelForms:嘗試使用外鍵保存表單ID
--model.py--
class Topic(models.Model):
category = models.ForeignKey(Category)
--form.py--
class TopicForm(ModelForm):
category = forms.IntegerField(widget=forms.HiddenInput())
class Meta:
model = Topic
fields = ('category')
--view.py--
form = TopicForm(request.POST)
if form.is_valid():
form.save(commit=False) # throws exception category is not a Category instance
form.category = Category.objects.get(pk=form.cleaned_data.get('category'))
form.save()
謝謝!我不明白django在幕後做了什麼,但這是有道理的。 – Komma 2009-07-19 23:35:03