2017-10-16 82 views
0

我旁邊型號:許多一對多關係請求數據庫

class Color(models.Model): 
    color = models.CharField(max_length=50, verbose_name='Color') 
    code = models.CharField(max_length=50, verbose_name='Code of color') 

class ColorSet(models.Model): 
    name = models.CharField(max_length=50, verbose_name='Name of set') 
    color_set = models.ManyToManyField(Color) 

我怎樣才能過濾顏色由color_set_ID的看法?如果您想獲得有在ColorSet物體顏色

回答

2

Color對象的我不知道你有什麼要求,但如果你想通過ColorSet模型篩選顏色可以使用Color.objects.filter(colorset__id=1)或者如果你想過濾的顏色等顏色模型,你可以使用ColorSet.objects.filter(color_set__id=1),告訴我,如果這是你想要的。

如果你需要所有的顏色,你可以使用ColorSet.objects.get(id=1).color_set.all(),當然你需要得到一個colorset對象來獲取該對象的Color.objects.get(id=1).color_set_set.all()與另一個模型包含顏色的所有元素,或

+0

我知道ColorSet的ID, 。我需要所有顏色。 –

+0

@JustSnake查看我的編輯 –

+0

非常感謝! –

0

,你可以簡單地通過 obj = ColorSet.objects.get(id=<the id>) 得到ColorSet對象,然後您將通過 obj.color_set

獲得在ColorSet所有的顏色,這將讓你列表與該ColorSet