私は2つのモデル、会社と支柱を持っています。別のモデル(外部キー)の初期値をフォームフィールドに入力します
class Post(Meta):
company = models.ForeignKey(Company, related_name='company', on_delete=models.CASCADE)
company_description = models.TextField(max_length=800)
は私が必要なもの:ユーザーがポストを作成するとき
1)、the company
FKはフィールドcompany_description
は、当社モデルから事前に設定されます。また、フォームの初期化時にコード 2)を通して設定され、フィールドdescription
(同じ名前ではない) 3)保存時にユーザーがフィールドに何も変更しない場合、初期値は保存時にのみ
1,2,3保存されます。
私は をチェックしましたが、私の場合は最初にFKを設定する必要がありますが、テキストだけでなく、FKモデルからの説明を得るよりもシンプルです。
私は複数の呼び出しを通してURLまたはリクエストから取得することができ、会社のPK /スラグは
path('<int:pk>/post/add/', CompanyPostCreateView.as_view(), name='create')
とビューでのrequest.user.acc.company:
company_pk = kwargs.get('pk')
と上書きform_valid
ですが、ここで問題があります。form_valid
が検証時に呼び出され、フォームの初期化時に検証前にこの情報を表示したいのですが、わかりません。
詳細を表示し、これまでのビューを表示する必要があります。 FKが "コードを通じて"設定されているとすれば、どうやってそれが起こっていますか? –
@DanielRoseman、私は詳細を追加しました。このケースでは、検証が遅すぎるため、私がFKを入手できる場所を正確にはわかりません – user3541631