0
if request.method == 'POST':
    try:
        form = ExampleForm(request.POST,
                               instance=Example.objects.get(user=request.user))
    except:
        form = ExampleForm(request.POST)
    if form.is_valid():
        m = form.save(commit=False)
        is_ok = request.POST.get('is_ok')
        m.is_ok = is_ok
        m.user = request.user
        m.save()

is_okフィールドを追加する方法instance=Example.objects.get(user=request.user)

注: このフィールドをモデル フォームに追加することはできません。

既存のデータを変更すると、is_ok値がデフォルトに変更されます

編集:

<input type="checkbox" disabled="disabled" checked="checked" name="is_ok" id="id_is_ok"/>

この入力が無効の場合、my is_ok = request.POST.get('is_ok')= None

4

1 に答える 1

1

これは、ExampleForm クラスの宣言で行う必要があります。クラスはこんな感じだと思います

from your_app.models import ExampleModel
from django.forms import ModelForm

class ExampleForm(ModelForm):
    class Meta:
        model = ExampleModel

フォームでフィールドを宣言するだけです。何かのようなもの -

class ExampleForm(ModelForm)
    is_ok = forms.BooleanField()
    class Meta:
        model = ExampleModel

フォーム クラスは、他のすべてのフィールドの場合と同様にinput、フィールドの要素の作成を処理しますが、モデルの設定をオーバーライドします。これ以上無効になることはありません (詳細については、ドキュメントを参照してください)。 )。is_ok

于 2013-02-07T14:17:15.540 に答える