2016-10-28 6 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