.select_related后Django的输出模板数据()

我有MySQL数据库:

.select_related后Django的输出模板数据()

在Django模型:

class Record(models.Model): schema_id = models.IntegerField() project_id = models.IntegerField() name = models.CharField(max_length=50) class Value(models.Model): record = models.ForeignKey(Record) key = models.ForeignKey(Key) value = models.CharField(max_length=255) class Key(models.Model): name = models.CharField(max_length=50) encode = models.BooleanField(default=False, blank=True)

在输出它应该是这样的:

## record.name ## key.name - value.value key.name - value.value ... ## record.name ## key.name - value.value key.name - value.value ...

我尝试使用下面的代码来做到这一点,但它让太多的查询数据库。

#in view records = Record.objects.filter(project_id=1) #in template {% for record in records %} <table> <tr> <td class="legend">Record:</td> <td>{{ record.name }}</td> </tr> {% for value in record.value_set.all %} <tr> <td class="legend">{{ value.key.name }}:</td> <td>{{ value.value }}</td> </tr> {% endfor %} </table> {% endfor %}

使用.select_related()我得到2查询所有的数据,而是如何遍历模板这个数据来得到类似的结构?

records = Record.objects.filter(project_id=1) values = Value.objects.filter(record__in=records).select_related().order_by('record')

--------------解决方案-------------

做得好的{%重整旗鼓%}标签。

分类:Django的 时间:2012-01-01 人气:6
分享到:

相关文章

  • 更改密码,当从Django的用户模型继承导致错误 2012-07-23

    我继承形式,像这样的Django的用户模型: from django.db import models from django.contrib.auth.models import User, UserManager from django.utils.translation import ugettext_lazy as _ class NewUserModel(User): custom_field_1 = models.CharField(_('custom field 1'), max_

  • 测试Django模型选择模板 2014-06-22

    说我有这样一个模型: from django.db import models USER_TYPE_CHOICES = ( (1, 'Free'), (2, 'Paid'), ) class Account(models.Model): name = models.CharField(max_length=20) user_type = models.IntegerField(default=1, choices=TYPE_CHOICES) 在模板我要测试的user_type显示一个特殊的部分,

  • Django的对比模型视图控制器 2012-01-03

    有人可以解释我所在的个体差异是Django和模型视图控制器模式之间? 在功能上,我们能从这些差异期望 - 即工作方式有何不同Django的比较,例如,Ruby on Rails的? --------------解决方案------------- 当你的代码,而不是想着框架件的名称,没有susbtantive差异betw,比如回报率. 但是,这取决于你给的使用models ,因为在Django的他们很容易含有一些逻辑上的其他框架将停留在控制器级别. 在view上的Django往往是一组用于取数据的

  • 自动递增模型字段在Django的价值 2012-02-19

    我想问一个问题,我怎样才能在Django增加一个模型字段. 让假设我有一个叫做模型 类我的书签(请求): url=models.URLField() popularity=models.IntegerField() 然后通过使用Django模板我有 bookmarks.html {在list_tagg %%数据库} 网址:{{database.url}} 人气:{{database.popularity}} {%ENDFOR%} 现在,如果有人点击(在bookmarks.html页面即URL字段

  • Django的:在分配模板变量 2012-03-08

    我该如何分配Django的模板系统内的变量? 假设Restaurant是一个模型: {% restaurant_id as restaurant.id %}或{{ restaurant_id as restaurant.id }}不工作. --------------解决方案------------- 你可以用模板标签使用,并分配这样一个内部模板变量: {% with restaurant_id=restaurant.id %} ... use restaurant_id in this tem

  • 存储和逃避Django的标签和过滤器在Django模型 2012-10-01

    我输出从我的模型内容,以我的模板,但有些模型字段调用存储在其他模型的数据. 这种情况只在少数领域. 我想知道是否使用if标签来评估这个相比,存储模型里面Django的标签会更有效. 这个问题的答案说,存储Django的标签模型是不给的理由(虽然我认为其中一个原因可能是其他人可能注入数据库中的某些标记)是一个坏主意. 假设数据库注入稀有,是否有逃逸存储在一个模型djago标签和过滤器的一种方式. 或者更好的是,这​​将是最有效的方法来处理上述情况在几个领域一个模型场调用存储在另一个模型字段. 示例

  • 如何获得用户列表,同时采用django.contrib.auth模型 2012-12-25

    我创建中,我需要得到模板的方式所有注册用户列表中选择一个基于web的应用. 我现在用的是django.contrib.auth模型来管理,没有组用户数据库. 我无法找出https://docs.djangoproject.com/en/dev/topics/auth/这views.py返回所有用户的列表中的任何方法 --------------解决方案------------- 传递适当的queryset到您的模板: from django.contrib.auth.models import

  • Django的 - 自定义模型方法 - 如何指定数据类型使管理员格式得当? 2013-06-01

    例: class MyModel(models.Model): field1=models.CharField(..) field2=models.DateTimeField() def today(self): return self.field2 当我在管理网站看看这个,场2比今天现场格式不同. 我怎么能告诉管理站点对待今天像它的处理场2? 也就是说,告诉Django管理的'今天'是一个models.DateTimeField? 下面是它的显示: Field2 today April 5,

  • DJANGO翻译 - 翻译模型,包括“子弹”与Django的DataTrans的 2012-02-07

    我检讨Django的DataTrans的并行与Django的localeurl使用它. 我想要做的就是让自己的翻译​​对象访问如下翻译蛞蝓: www.mysite.com/fr/bonjour(法语) www.mysite.com/en/hello(英文) 为此,我需要'得到'依赖于当前的语言". 如果要与为例澄清: 如果我这样做:对象= MyObject.objects.get(塞= slug_from_url) 然后,'得到'应该找对象既可以当: CURRENT_LANGUAGE是FR和sl

  • Django的 - 切换语言设置模板渲染 2012-02-19

    可能重复: Django的切换,一个代码块,切换语言,所以翻译是用一种语言完成 有一种简单的方法来获得Django的切换语言一个模板渲染操作? 在我的情况下,用户可能会触发将需要消息,说的不是同一种语言的人的事件. 例如 - 用户讲英语,但调用该消息的讲西班牙语的人的行为 - 因此,我需要生成在西班牙语传出的内容. 我知道,这是通过伪造请求并使用的RequestContext可能的,但是我宁愿一个较短/清洁的解决方案. --------------解决方案------------- 您是否正在寻

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.513 (s). 10 q(s)