:limit_choices_to(Django)でエンティティのインスタンスを取得する方法は?例えば
class Foo(models.Model):
bar = models.OneToOneField(
'app.Bar',
limit_choices_to=Q(type=1) & Q(foo=None) | Q(foo=instance)
)
class Bar(models.Model):
TYPE_CHOICE = (
(0, 'hello'),
(1, 'world')
)
type = models.SmallIntegerField(
choices=TYPE_CHOICE,
default=0
)
私はDjangoのadminにはFooさんとの関係を持っていないtype = 1
を持っているだけでこれらのバーを、ショーをしたい、と(それがある場合)、編集されたエンティティのバーをリンクされ表示します。
formfield_for_foreignkey
の方法をadmin.ModelAdmin
に上書きすることもできますが、これはlimit_choices_to
で行います。
編集エンティティのインスタンスを取得するにはどうすればよいですか?
「Q(foo = None)| Q(foo = instance)」を実行できるかどうかはわかりませんが、Fooのインスタンスへの参照がここにあると仮定しています –