我有下一个型号:
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获取过滤后的颜色?
答案 0 :(得分:2)
我不确定你要求的是什么,但是如果你想用ColorSet模型过滤Color,你可以使用Color.objects.filter(colorset__id=1)
,或者你想要使用Color模型过滤ColorSet你可以使用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()
使用另一个模型
答案 1 :(得分:0)
如果你想要ColorSet
对象中的颜色,你可以简单地通过ColorSet
对象获取
obj = ColorSet.objects.get(id=<the id>)
然后你将获得ColorSet中的所有颜色
obj.color_set
这会为您提供与Color
ColorSet
对象列表