2016-10-28 5 views
0

別のクラスの選択肢のサブセットを取ることができるフィールドを保存する最良の方法は何ですか?djangoの値のリスト

class Type(models.Model): 
    type = models.CharField(max_length=4, choices=TYPE_CHOICES, default='CONS') 

と選択肢のサブセット保管しなければならないことを入力するための外部キーを持つ別のクラス:

class AnotherType(models.Model): 
    model_parameter = models.ForeignKey(Type, on_delete=models.CASCADE) 
    subset = models.XXX(arbitrary subset of Type.type.TYPE_CHOICES) 

私は選択肢のリストがあるフィールドを持つクラスを持っていますどんな助けもありがとう!

答えて

0

ForeignKey、おそらく。 related_nameを指定すると、オブジェクトは複数の後方関係を持つことができます。

class Type(models.Model): 
    type = models.CharField(max_length=4, choices=TYPE_CHOICES, default='CONS') 
    another_type = models.ForeignKey('yourmodel.AnotherType', related_name='subset') 

class AnotherType(models.Model): 
    model_parameter = models.ForeignKey(Type, on_delete=models.CASCADE) 

、あなたのニーズに変形例を持っている場合、あなたが今行うことができます。

a = AnotherType.objects.first() 
a.subset.all() # Some of the types you associated with it 
関連する問題