9

使用したいdjango-taggit(ここをクリック)。ドキュメント (ここをクリック) では、フォームの生成に使用する方法について説明ModelFormされていますが、使用したいフォームが既にあります。

私がこのようなものを持っているとしましょう:

フォーム.py

class MyForm(forms.Form):
    ......
    tags = forms.CharField(max_length=200, widget=forms.Textarea)

tagsフィールドからのタグを保存するにはどうすればよいですか? 私の中に何が入りますviews.pyか?実際の例をいただければ幸いです。

4

3 に答える 3

7

使用済み/「緑のチェックマーク」の回答についてはコメントできません。しかし、私はブロックを変更します

for m_tag in m_tags:
    object.tags.add(m_tag)

object.tags.add(*m_tags)
于 2011-12-23T01:34:37.273 に答える
3

こちらの手順をご覧ください:https ://github.com/alex/django-taggit/blob/master/docs/forms.txt

commit=Falseフォームを保存するときに、オブジェクトを保存した後にフォームで呼び出す必要のあるオプションを 使用する場合save_m2m()は、通常の多対多のフィールドがあるフォームの場合と同じです。

if request.method == "POST":
    form = MyFormClass(request.POST)
    if form.is_valid():
        obj = form.save(commit=False)
        obj.user = request.user
        obj.save()
        # Without this next line the tags won't be saved.
        form.save_m2m()
于 2012-04-07T15:44:02.013 に答える