問題タブ [modelform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ModelForm の Meta クラスを動的に更新する
ビューから ModelForm のインライン Meta クラスを動的に更新したいと考えています。このコードは Meta クラスの除外リストを更新しているように見えますがas_p()
、as_ul()
、 などからの出力は、更新された Meta 除外を反映していません。
as_*()
が呼び出されたときではなく、ModelForm が作成されたときに html が生成されると仮定します。HTML を強制的に更新する方法はありますか?
これはそれを行うための最良の方法ですか?私はこれがうまくいくはずだと思っただけです。
考え?
django - ジャンゴ更新モデルフォーム
次のようなモデルがあります
私のモデルフォームは次のとおりです
フォームを表示および更新するための私の関数は次のようになります。
データベース内の私の user_id は 1.. ですが、フォームを投稿しても更新されません。form.save() がそこに印刷物を置くために呼び出され、それが開発サーバーに表示されることを知っています。
python - ModelForm の複数のフォーム フィールドに ManyToManyField を分割する
したがって、トーナメントと呼ばれる ManyToManyField を持つモデルがあります。2 つのトーナメント フィールドを持つ ModelForm があります。
all() の後のメソッドは、サブクラス化された QuerySet からのものです。ビューにフォームを保存するときは、次のようにします。
とにかく、これはすべてうまくいきます。どうすればいいのか分からないのは、既存の投稿を読み込んでいるときにこれらのフォーム フィールドに入力することです。つまり、instance=post をフォームに渡すときです。何か案は?
django - modelForm を保存して既存のレコードを更新する
既存のモデル (Book) へのインスタンスを持つ modelForm を作成します。Books レコードを更新できません。新しいレコードの追加は問題ありませんが、更新しようとすると、発行元 (外部キー) が見つからないようです。エラーは「指定されたクエリに一致する発行者はありません」です。
models.py
クラス パブリッシャー (models.Model):
クラスの作成者 (models.Model):
クラス Book(models.Model):
クラス BookForm(ModelForm):
ビュー.py
def authorcontactupd(リクエスト、id):
エラーメッセージ
ページが見つかりません (404) リクエスト方法: POST リクエスト URL: http://127.0.0.1:8000/books/bookupd/
指定されたクエリに一致するパブリッシャーはありません。
Django 設定ファイルに DEBUG = True があるため、このエラーが表示されます。これを False に変更すると、Django は標準の 404 ページを表示します。
urls.py
django.conf.urls.defaultsインポートから *
django.views.generic.simple import direct_to_template から
mysite10.books.views からインポート about_pages、books_by_publisher、authorcontact、bookcontact、booklisting、authorcontactupd
django.views.generic import list_detail から
from mysite10.books.models import Publisher, Book
django.contribインポート管理者から
admin.autodiscover()
デフォルト get_books():
出版社情報 = {
}
書籍情報 = {
}
oreilly_books = {
}
urlpatterns = パターン('',
)
--------------------------------------------------
最終的に以下のコードで動作するようになりました。$ の前にスラッシュがないため、urls.py でエラーが発生しました。(r'^books/bookupd/(\d+)/$' に修正
ビュー.py
def book_upd(リクエスト、ID):
urls.py
(r'^books/bookupd/(\d+)/$', 'mysite10.books.views.book_upd'),
django - モデルフォームセットと日付フィールド
いくつかの日付フィールドを持つモデルにモデルフォームセットがあります。これもモデルのDateTimeFieldです。ただし、テンプレートに表示される場合は、テキストフィールドとして表示されます。ドロップダウンボックスとして表示するにはどうすればよいですか?
これが私がmodelformsetを初期化する方法です。
これらの設定を上書きするにはどうすればよいですか
python - モデルフォームからモデルフォームセットを作成する
AutoFieldであるPK--locidを含むモデルMyModelがあります。
これからモデルフォームセットを作成したいのですが、いくつか注意点があります。
- フォームセットのクエリセットは、all()ではなくカスタムクエリセット(たとえば、order_by('field'))である必要があります。
- MyModelのlocidはAutoFieldであり、デフォルトで非表示になっているため、ユーザーに表示できるようにしたいと思います。
これを行う方法がわかりません。私は複数のアプローチを試しましたが、
上記は私に3つのフィールドを与えますが、locidは隠されています。
上記は私にManyToManyエラーを与えます。
誰かが以前にこのようなことをしたことがありますか?
編集2
フォームセットをインスタンス化するときにカスタムクエリを使用できるようになりましたが、IDはアプリケーションの使用にとって重要であるため、ユーザーにlocidフィールドを表示する必要があります。どうすればいいですか?オートフィールドの場合、PKを非表示にするデフォルトの動作をオーバーライドする方法はありますか?
python - ModelForm と保存時の奇妙な動作
この問題は非常に奇妙で、誰かが私を助けてくれることを願っています。議論のために、私は Book モデルへの ForeignKey 関係を持つ Author モデルを持っています。著者を表示するとき、その著者に関連付けられた本のみを表示する ChoiceField が必要です。そのため、AuthorForm をオーバーライドします。init () メソッドを使用して、著者 ID に基づいて本をフィルター処理するクエリに基づいて、選択肢 (タプル) のリストを作成します。タプルは、本の ID と本の名前を組み合わせたものです (つまり、(1, 'Moby Dick'))。これらの「選択肢」は、ModelForm のchoices 属性に割り当てられます。
フォームがテンプレートでレンダリングされると、ChoiceField が適切に表示され、その著者に関連付けられた本のみが一覧表示されます。
これは物事が奇妙になるところです。
フォームを保存すると、ValueError が返されます (Cannot assign "u'1'":Author.book" must be Book instance). このエラーは、FK 関係により理にかなっています。コードにステートメントを追加し、他に変更を加えず、レコードを保存すると、機能します. ValueError は魔法のように消えます. これを何度も試して、うっかり別の変更を加えていないことを確認しました.
ここで何が起こっているか知っている人はいますか?
django - インライン フォームセットを使用したモデルおよび関連モデルの作成
[これをDjango ユーザーに投稿しました| Google グループも。]
inline formset docsの例を使用して、特定のモデルに属するオブジェクトを編集できます (modelforms を使用)。私はインライン フォームセットを使用して新しいオブジェクトを作成するために同じパターンに従おうとしまし たが、この目的のための作業ビューを引き出すのに十分な頭をクリアすることができませんでした。
上記のリンクと同じ例を使用して、関連する「Book」オブジェクトとともに「Author」モデルの新しいインスタンスを作成するにはどうすればよいでしょうか?
django - ModelFormの保存に失敗する
銀行口座を表すモデルフォームを保存しようとしていますが、フォームが検証されているように見えても、ValueErrorが発生し続けます。私が使用しなければならないモデルは次のとおりです。
personBankAccのModelForm;
ビューは次のとおりです。
フォームを保存しようとすると、form.is_valid()チェックに合格しても、VlaueError例外が発生します。発生するエラーは次のとおりです。
Cannot assign "u'26'": PersonBankAcc.bank must be a "bank" instance
PersonBankAccFormで使用しているウィジェットが原因で問題が発生していることはわかっています。ウィジェットを
bank = forms.ChoiceField(widget=SelectWithPop)
削除すると機能するためです。しかし、それだけで、ポップアップを介してデータベースに新しい銀行を追加し、それを管理ポップアップフォームと同様に選択リストに挿入することができます。データベースを確認したところ、新しい銀行が追加されました。しかし、何も変更しなくても失敗します。フォームを呼び出して送信すると、同じエラーが発生します。
is_validチェックで失敗しない理由がわかりません。
どんな助けでも大歓迎です。
アンドリューありがとう
python - ModelForms を使用しているときに既存の行を更新するにはどうすればよいですか?
フィールドの 1 つが主キーである場合に、データベース内の既存の行を更新する方法について質問があります。私は ModelForm と Django-Piston を使用しています。ここでの主な目標は、RESTful Post を Web サービスに送信することです。最初の投稿を正しく送信できました (つまり、主キーの値がまだ存在していません)。問題は、プライマリ キーが既に存在する値を更新する場合です。f.is_valid() を発行すると、「この UniqueIdentifier は既に存在する」ため失敗します。ModelForms を使用してフォームの検証を行い、既存の行を更新するにはどうすればよいですか?
私のmodels.py:
フォーム.py
handlers.py
urls.py