2017-04-05 8 views
1

は、私は2つのクラスシステムベースから継承を持っています。 ベースクラスの外部キーはグループにはシステムの外部キーがあります。Django: 'limit_choices_to'で親テーブルフィールドを使用するには?

私が持っている関連システムが同じグループからのようになるように、後者のFKで「limit_choices_to」制約を配置しようとしています。

は、ここで私は上記のあるものを含め、アイデアの数を試したmodels.py

class Base(models.Model): 
    group = models.ForeignKey(Group) 

class System(Base): 
    ... 

class Station(Base): 
    system_info = models.ForeignKey(System, limit_choices_to={'group': 'self.group'}) 

の抜粋だが、運。どんな助けでも大歓迎です!

+0

この値はまだ設定されていない可能性があり、変更される可能性があるので、あなたは 'limit_choices_to 'のインスタンスからフィールド値を参照することはできないと思います。 – albar

答えて

0
system_info = models.ForeignKey(System, limit_choices_to=Q(groups__name= 'group')) 

これはうまくいくと思っています。グループはあなたが作成したグループ名になります。

+0

ありがとうございますが、それは動作していないようです。私は恐れがあります、構文エラーをスローします。 –

+0

Qをインポートしましたか? –

+0

はい、「django.db.models.query_utilsからインポートQ」私は現在Djangoバージョン1.10.4です。コロンについて 'group__name: 'group''で文句を言う。 **基数10のint()の無効なリテラル: 'group' ** –

関連する問題