manytomanyfield唯一值

| 我有一个称为mti(材料信息)的模型,该模型具有MTD(材料描述)列表,并且在每个材料描述描述中都有大小和颜色 我有一个MTI ID,我想获取所有不同的颜色值列表 mymti = mti.objects.get(pk = 1) 我如何从MTI获取颜色列表 mymti.mtd.color.name?
class color(models.Model):
id = models.AutoField(primary_key=True)
name= models.CharField(max_length=255)
stamp= models.DateTimeField(auto_now=True)
def __unicode__(self):
    return self.name
class mtd(models.Model):
id = models.AutoField(primary_key=True)
barcode = models.CharField(max_length=255)
#mti = models.ManyToManyField(mti)
size = models.ForeignKey(size)
color = models.ForeignKey(color)
weight = models.FloatField()
def __unicode__(self):
    return u\'%s - %s %s\' % (self.barcode,self.color.name,self.size.name)
class Meta:
    verbose_name = \"MTD\"
    verbose_name_plural = verbose_name



class mti(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
item = models.ForeignKey(item)
mtd= models.ManyToManyField(mtd)
country = models.ForeignKey(country)
dept = models.ForeignKey(dept)
fabric = models.ForeignKey(fabric)
sesason = models.ForeignKey(season)
sale = models.FloatField()
endUser = models.FloatField()
description = models.TextField(max_length=1000,blank=True,null=True)
year = models.CharField(max_length=255,default=strftime(\"%Y\", gmtime()))
front_page = models.BooleanField(verbose_name=\"Front Page\",default=True)
active = models.BooleanField(default=True)
stamp = models.DateTimeField(auto_now=True)
def __unicode__(self):
    return u\'%s - %s\' % (self.name, self.description)
class Meta:
    verbose_name = \"MTI\"
    verbose_name_plural = verbose_name

class mtiimage(models.Model):
id = models.AutoField(primary_key=True)
mtd = models.ManyToManyField(mtd)
image1 = models.ImageField(verbose_name=\"Product 1 Image\",upload_to=\'product\')
image2 = models.ImageField(verbose_name=\"Product 2 Image\",upload_to=\'product\')
image3 = models.ImageField(verbose_name=\"Product 3 Image\",upload_to=\'product\')
stamp = models.DateTimeField(auto_now=True)

def admin_thumbnail(self):
    return u\'<img src=\"%s\" heigh=\"150\" width=\"200\" />\' % (self.image1.url)
admin_thumbnail.short_description = \'Thumbnail\'
admin_thumbnail.allow_tags = True
def __unicode__(self):
    return u\'%s \' % (self.id)
class Meta:
    verbose_name = \"MTI Image\"
    verbose_name_plural = verbose_name
    
已邀请:
        注解 使用注释。
mymti = mti.objects.get(pk=1)
unique_colors = mymti.mtd.values_list(\'color__name\', flat=True).annotate()
    
        
colors = mymti.mtd.values_list(\'color__name\', flat=True).distinct()
将导致:
colors = [color1, color2, ...]
    

要回复问题请先登录注册