まだ作成されていないモデルに対するDjangoの外部キー

私はDjangoで、モデルを別の、まだ作成されていない外部キーを持つモデルに関連付ける方法があるのだろうかと思います。どちらのモデルも、同じHTMLページで同じModelFormを使用して作成されます。

例えば

class Team(models.Model):
    name = forms.CharField
    ...

class Player(models.Model):
    name = forms.CharField()
    key = forms.ForeignKey(Team)
    ...

基本的には、これらのモデルを同じHTMLページで同じ <form> ...
</form>
に配置できるかどうかは疑問です。

ベストアンサー

外部キーは参照モデルの主キーへの参照であるため、ターゲットが存在する必要があります。最初のフォームを保存し、保存する前に2番目のフォームの参照を更新する必要があります。データベースに保存せずにフォームからモデルインスタンスを取得するには、

instance = form.save(commit=False)

インスタンスを自分で保存する必要があります

instance.save()

and if you are using many-to-many fields, you need to look at
save_m2m

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です