如何从数据库中仅获取选定列并在Django中格式化?
我只想显示数据库中选定的列,如:如何从数据库中仅获取选定列并在Django中格式化?,django,templates,Django,Templates,我只想显示数据库中选定的列,如: Select coloum1, coloum2, coloum3 from Table1; 我只想显示这三列。使用Entry.objects.all()不允许我这样做。现在,在检索每个列后,我得到以下格式的数据: ok.py 172.16.0.161 January 07, 2013, 11:36AM January 07, 2013, 11:36AM 0 bytes 我想在不同的列中显示每个元素,如: name host
Select coloum1, coloum2, coloum3 from Table1;
我只想显示这三列。使用Entry.objects.all()
不允许我这样做。现在,在检索每个列后,我得到以下格式的数据:
ok.py 172.16.0.161 January 07, 2013, 11:36AM January 07, 2013, 11:36AM 0 bytes
我想在不同的列中显示每个元素,如:
name host Date Date
ok.py 172.16.0.161 11:36AM January 07, 2013 2013, 11:36AM 0 bytes
我尝试在模板中使用simple for loop:
{% for i in query %}
{{ i }}
{% endfor %}
这将检索所有元素,如:
ok.py 172.16.0.161 January 07, 2013, 11:36AM January 07, 2013, 11:36AM 0 bytes
hello.py 172.16.0.161 January 07, 2013, 11:36AM January 07, 2013, 11:36AM 0 bytes
如何在不同的列中向用户显示它们 如果query是queryset,那么变量i是一个对象
您可以像往常一样使用object.attribute语法(即i.name、i.host等)获取对象属性
使用从循环中提取的属性生成常规html
您可以执行原始sql查询,如以下示例所示:
first\u person=person.objects.raw('从myapp\u person'中选择名称、地址')
对一些模范人物来说
您肯定应该签出django文档。
您可以使用它。您可以使用
Entry.objects.values('field1','field2','field3')
,它将返回一个列表字典,即[{'field1':value1,'field2':value2,'field3':value3},…]
或者,您也可以使用Entry.objects.values_list('field1','field2','field3')
,它将返回一个值元组列表,即[(value1,value2,value3),…]
。如果您试图从数据库中仅获取一个字段,则这可以工作Entry.objects.values\u list('field1',flat=True)
flat参数将返回一个值列表,而不是值元组列表,即[value1a,value1b,value1c]