それが「デフォルト」ジャンゴModelFormサブクラスは、「使用」db_aliasはのPARAMを使用して保存
my_form = MyModelForm(request.POST)
my_form.save(commit=True,using="db_alias")
だけでなく、モデルインスタンスにデータを保存するよりも異なるdb_aliasはとのModelFormオブジェクトデータを保存することは可能ですか? ありがとうございます。
それが「デフォルト」ジャンゴModelFormサブクラスは、「使用」db_aliasはのPARAMを使用して保存
my_form = MyModelForm(request.POST)
my_form.save(commit=True,using="db_alias")
だけでなく、モデルインスタンスにデータを保存するよりも異なるdb_aliasはとのModelFormオブジェクトデータを保存することは可能ですか? ありがとうございます。
短い回答:残念ながら、そのようにフォームを保存することはできません。あなたが(またはあなたが、autocompletefieldを使用して、たとえば、それらをなどを自分でコントロールしている)のForeignKeyやM2M分野が含まれていない形成する場合は、フォームの後に、オブジェクトを扱うことができます。
_obj = _form.save(commit=False)
_obj.save(using=_db_alias)
長い答えを:あなたの場合これは理想的であるが、
# The form's foreign_keys and m2m-fields get the data from the db_alias database
# and evertyhing is sdisplayed correctly on the template.
_form = myModelForm(request, db_alias=_db_alias)
# The form saves to the correct DB and foreigns & M2ms are matched correctly in this DB
# _form.save()
、あなただけのこの振る舞いを使用することはできませんのModelFormはのForeignKeyやM2Mフィールドと通常の1、のようなもののように動作します。この機能を利用するには、Djangoのコードを変更する必要がある多くのDBフックがあります。私がしたのは、基本モデルフォームから新しいmodelformクラスを作成し、前に説明した(部分的な)機能を得ることです。
これがうまくいくと思っています。また、より良い解決策を見つけることは間もなく行われます。
ありがとうございます。それがすぐに良くなることを願っています。 – pista329