# class resu_DB_Add(forms.ModelForm): class Meta: model = models.resu_DB fields = ["users","code",'masseg','creat_times',"updete_times"] #VIEW if (request.method == 'POST'): form = resu_DB_Add(request.POST) if form.is_valid(): resu_db_=form.save(commit=False) resu_db_.code=sled_num resu_db_.creat_times=timezone.now() resu_db_.updete_times=timezone.now() resu_db_.users="test_user" #HTML <form action="{% url 'sns:sled_page' sled_num%}" method="post"> {% csrf_token %} <table> {{ form }} <tr> <td><input type="submit" value="送信"></td> </tr> <table>
やりたいこと
'masseg'以外はユーザーがいじれないようにし(htmlで表示しない)、ほかはシステムによって自動で埋まるようにしたいです しかし現在のコードでは一度すべてのフィールドを入力させform.save(commit=False)のあとシステムで上書きしている状態です
①{{form.as_table }}
② {{ form }}
③{{ form.○○ }} をすべて記入
④管理画面から手動
調べていくつか出てくる方法はいずれもすべてを入力できるようにする方法です
massegのみを入力できるようにし"users","code",'creat_times',"updete_times"この四つをフォームで表示せず保存する方法を教えてください
試したこと
{{ form.○○ }} を表示させたいやつだけやればいいかと思い{{ form.masseg }}のみを設置しましたが
if form.is_valid():をクリアできませんでした
<form action="{% url 'sns:sled_page' sled_num%}" method="post"> {% csrf_token %} <table> {{ form.masseg }} <tr> <td><input type="submit" value="送信"></td> </tr> <table>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。