-2
MTI
=材料に関する情報MTD
=絵にありマテリアル説明MTIIMAGE
=各色とサイズのため
I異なる色を返すクエリを作成しようとしていますが、私が得ているカラー結果は一意ではありません:
[: - ミディアム黒、MTD 1234567:1122334455 - ミディアムピンクMTD]class mti(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
item = models.ForeignKey(item)
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 mtd(models.Model):
id = models.AutoField(primary_key=True)
barcode = models.CharField(max_length=255)
mti = models.ForeignKey(mti)
size = models.ForeignKey(size)
color = models.ForeignKey(color)
weight = models.FloatField()
class Meta:
verbose_name = "MTD"
verbose_name_plural = verbose_name
def __unicode__(self):
return u'%s - %s %s' % (self.barcode, self.size.name,self.color.name)
class mtiimage(models.Model):
id = models.AutoField(primary_key=True)
color = models.ForeignKey(color)
mtd= models.ForeignKey(mtd)
mti=models.ForeignKey(mti)
pic1 = models.ImageField(verbose_name="Product 1 Image",upload_to='product')
pic2 = models.ImageField(verbose_name="Product 2 Image",upload_to='product')
pic3 = models.ImageField(verbose_name="Product 3 Image",upload_to='product')
stamp = models.DateTimeField(auto_now=True)
def __unicode__(self):
return u'%s - %s' % (self.mtd.barcode, self.color.name)
class Meta:
verbose_name = "MTI Pic"
verbose_name_plural = verbose_name
結果が
になるように、私はこのクエリからの明確な色を取得できますか
mymti[0].mtd_set.all() [mtd: 1234567 - Medium black, mtd: 1122334455 - Medium pink, mtd: 12345678 - Large black]
私の意見は
mydept = dept.objects.get(pk=deptid) mymti = mti.objects.filter(dept=mydept).select_related()
マイテンプレート
{% for i in mymti %} {% for m in i.mtd_set.all %}{{m.mtiimage_set.all.0.pic1.url}}{{m.mtiimage_set.all.0.color.name|lower}}{% endfor %} {% endfor %}
-1:関連するフィールドを探して50行のモデルコードを読むことを期待する代わりに、問題のあるコードの数を減らしてください。 – Caspar
モデルの設計がうまくいかないような臭いがあります。正確に達成しようとしているのは何ですか?あなたはどのようにして大きな黒よりも中程度の黒を選択しましたか?あなたの目標を説明しながら、@キャスパーが示唆したように無関係なものを取り除く。 – Udi