在django模板中查询多个到多个字段

Hul*_*ulk 9 python django django-templates django-models django-views

这可能不相关,但只是想问,

如果一个对象从视图传递到模板,并且在模板中我将能够查询多个到多个字段

型号代码:

  class Info(models.Model):
     xls_answer  = models.TextField(null=True,blank=True)


  class Upload(models.Model):
     access = models.IntegerField()
     info = models.ManyToManyField(Info)
     time = models.CharField(max_length=8, null=True,blank=True)
     error_flag = models.IntegerField()

     def __unicode__(self):
        return self.access
Run Code Online (Sandbox Code Playgroud)

浏览次数:

         // obj_Arr  contains all the objects of upload
        for objs in obj_Arr:
           logging.debug(objs.access)
           logging.debug(objs.time)


        return render_to_response('upload/new_index.html', {'obj_arr': obj_Arr , 'load_flag' : 2})
Run Code Online (Sandbox Code Playgroud)

在模板中,因为我们传递对象,所以可以解码多对多的字段

谢谢..

hec*_*ckj 30

通常,您可以通过django模板系统中的路径跟踪任何不带参数的属性或方法调用.

对于上面的视图代码,类似于

{% for objs in obj_arr %}
{% for answer in objs.answers.all %}
  {{ answer.someattribute }}
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

应该做你期望的事情.

(我无法从您的代码示例中详细说明具体内容,但希望这将说明您可以通过模板获得的内容)

  • 您可以在模型定义中定义默认顺序.http://docs.djangoproject.com/en/1.2/ref/models/options/#ordering (3认同)