カスタムフォームクラスを使用するインラインの管理者がいます。そのフォームクラスの関数内から親インスタンス(外部キー)にアクセスするにはどうすればよいですか?
以下の関連コード:
models.py:
class Bar(models.Model):
name = models.CharField(max_length=50)
class Foo(models.Model):
name = models.CharField(max_length=50)
bar = models.ForeignKey(Bar, null=True, blank=True, related_name="foos")
admin.py:
class FooInlineAdmin(admin.TabularInline):
model = Foo
form = AdminFooForm
max_num = 3
class Bar(admin.ModelAdmin):
inlines = [FooInlineAdmin]
forms.py:
class AdminFooForm(forms.ModelForm):
class Meta:
model = Foo
def clean(self):
data = self.cleaned_data
mybar = self.get_foreign_key_somehow() # this is the line I'm interested in
実際のインスタンスができたら、を使用してアクセスできることを知っていますinstance.bar
。しかし、それは実際に記録がある場合にのみ機能しますよね?したがって、このフォームを使用してレコードを作成する場合、インスタンスはNoneになります。