[解決済み] Django: モデルフォーム "オブジェクトに 'cleaned_data' という属性がない".
2023-02-20 06:47:43
質問
私は、あるクラスのための検索フォームを作ろうとしています。フォームのモデルは次のとおりです。
from django import forms
from django.forms import CharField, ModelMultipleChoiceField, ModelChoiceField
from books.models import Book, Author, Category
class SearchForm(forms.ModelForm):
authors = ModelMultipleChoiceField(queryset=Author.objects.all(),required=False)
category = ModelChoiceField (queryset=Category.objects.all(),required=False)
class Meta:
model = Book
fields = ["title"]
そして、私が使っているビューは
from django.shortcuts import render_to_response, redirect, get_object_or_404
from django.template import RequestContext
from books.models import Book,Author
from books.forms import BookForm, SearchForm
from users.models import User
def search_book(request):
if request.method == "POST":
form = SearchForm(request.POST)
if form.is_valid():
form = SearchForm(request.POST)
stitle = form.cleaned_data['title']
sauthor = form.cleaned_data['author']
scategory = form.cleaned_data['category']
else:
form = SearchForm()
return render_to_response("books/create.html", {
"form": form,
}, context_instance=RequestContext(request))
フォームは問題なく表示されますが、送信するとエラーになります。
'SearchForm' object has no attribute 'cleaned_data'
何が起こっているのかよくわからないのですが、どなたか助けていただけませんか?ありがとうございます!
どのように解決するのですか?
をチェックした後、何らかの理由でフォームを再インスタンスしています。
is_valid()
. フォームにはあくまで
cleaned_data
属性を取得します。
is_valid()
が呼び出されていて、この新しい2番目のインスタンスで呼び出されていない場合です。
ただ、2番目の
form = SearchForm(request.POST)
を取り除くだけで、すべてがうまくいくはずです。
関連
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] エラーです。" 'dict' オブジェクトには 'iteritems' という属性がありません "
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] Pythonのインスタンス変数とクラス変数
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] djangoフレームワークでフォームフィールドから値を取得するには?
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?
-
[解決済み] Pythonの検索パスを他のソースに展開する
-
[解決済み] データクラスとtyping.NamedTupleの主な使用例
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複