これは、なんらかの言語構造をよりよく理解する必要があることに帰着するのではないかと強く思っていますが、どこから始めればよいか分からないので、いくつかのコードを捨てる必要があります。
モデル:
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 を使用することで、クリーンアップされたデータをオブジェクトに直接取り込むことができました。これは、ビューが他のオブジェクトに疎結合されているため、明らかに望ましいことです。モデルを変更でき、他のすべては私なしで変更できます。何かをしなければならない。
残念ながら、次のエラーが表示されます。
'tags' is an invalid keyword argument for this function
私はいつでも CD を分解し、 blogEntry=BlogEntry(title=cd['title']...) の手動辞書アプローチを構築してから、タグを 1 つずつ追加することができますが、...もっと良いオプションが必要ですそれよりも、そして私はそれらが何であるかを知りません:(