微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

django orm深度搜索

如何解决django orm深度搜索

| 伙计,我有三堂课
class A(models.Model):
id = models.AutoField(primary_key=True)
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\')
color = models.ForeignKey(color)
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

class B(models.Model):
id = models.AutoField(primary_key=True)
barcode = models.CharField(max_length=255)
a = models.ForeignKey(A)
size = models.ForeignKey(size)
weight = models.FloatField()
def __unicode__(self):
    return u\'%s - %s %s\' % (self.barcode,self.mtiimage.image1,self.size.name)
class Meta:
    verbose_name = \"MTD\"
    verbose_name_plural = verbose_name

class C(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
item = models.ForeignKey(item)
b= models.ManyToManyField(B)
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
我想要的是
myC = c.objects.get(pk=1)
在模板中 将使用三个循环来显示数据
for tmpc in myC:
    for tmpb in tmpc.B:
        for tmpa in tmpb.A
            print tmpa.image1
我尝试了很多次但都失败了
myC = C.objects.get(pk=1)
myC.B
<django.db.models.fields.related.ManyRelatedManager object at ....
    

解决方法

        
for tmpc in myC:
    for tmpb in tmpc.B.all():
        for tmpa in tmpb.A.all():
            print tmpa.image1
并在课堂上给您一个好听的名字;)     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。