私はこのことが、私にはいくつかの言語構造をよりよく理解する必要があると強く思っていますが、どこから始めるべきかわからないので、いくつかのコードを投げ捨てる必要があります。私のdjango形式が多対多のフィールドで私にこのエラーを与えるのはなぜですか?
モデル:
class BlogTag(models.Model):
tag = models.CharField(max_length=255)
def __unicode__(self):
return self.tag
class BlogEntry(models.Model):
title = models.CharField(max_length=255)
body = models.TextField()
date = models.DateTimeField()
tags = models.ManyToManyField(BlogTag)
def __unicode__(self):
return self.title
形式:
class BlogForm(ModelForm):
class Meta:
model = BlogEntry
ビュー:
title='New Blog Entry'
if request.method=='POST':
form=BlogForm(request.POST)
if form.is_valid():
cd=form.cleaned_data
blogEntry=BlogEntry(**cd)
blogEntry.save()
else:
form=BlogForm();
return render_to_response('blog_add.html', locals())
私が直接私のオブジェクトにクリーンデータを取ることができました** CDを使用して、どのこの方法では、ビューが他のオブジェクトに緩く結合されているので、明らかに望ましいです - モデルを変更できます私は事をしなくてもそれで変化します。
残念ながら、私はというエラーになっている:私はいつもCDを打破し、blogEntry = BlogEntry(タイトル= CD [ 'タイトル']の手動辞書アプローチを構築することができ
'tags' is an invalid keyword argument for this function
を... )そして、ただ一つずつタグを追加するだけですが、私はそれより良い選択肢があるべきです、そして、それらが何であるか分かりません:(
まあですが、私はちょうどに気づきました私の人生を私のものよりも難しくしていたことを文書化しました。実際のフォームで.save()を呼び出すことができました。これは、フォームを作成するためにデータを整理することはおそらく必要ではないことを示唆しているため、サポートは限られています。 – RonLugge
_ModelForm_でform.is_valid()を呼び出すと、フォームとモデルの両方のレベルで検証がトリガーされます。通常の状況では手動でデータをクリーンアップする必要はありません。 –