Django 数据库查询集无字段信息
Django Database Queryset No Field Information
当我通过视图 运行 查询集并将其传递给模板时,我得到的是以下内容:
<QuerySet [<ChangeLog: ChangeLog object (1)>, <ChangeLog: ChangeLog object (2)>, <ChangeLog: ChangeLog object (3)>, <ChangeLog: ChangeLog object (4)>, <ChangeLog: ChangeLog object (5)>, <ChangeLog: ChangeLog object (6)>, <ChangeLog: ChangeLog object (7)>, <ChangeLog: ChangeLog object (8)>, <ChangeLog: ChangeLog object (9)>, <ChangeLog: ChangeLog object (10)>, <ChangeLog: ChangeLog object (11)>]
如何通过查询显示字段字典?
观看方法:
def changeres(request):
if request.user.is_authenticated:
name = request.session.get('name')
data = ChangeLog.objects.all()
return render(request, 'changeres.html', {'data': data})
模板:
{% extends "universal/header.html" %}
{% block content %}
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-4">
<div class="forms-content">
<div class="tab-content" id="pills-tabContent">
<p></p>
<img class="mb-4" src="/static/FWIcon.png" alt="" width="100" height="100">
<p></p>
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">
<form action="/change/action/" method="POST">
<p class="formtitle">Change Lookup</p>
<p></p>
{% csrf_token %}
<div class="form-group">
<label class="fieldtitle"> Search Results </label>
<table class="table">
{{ data }}
<thead>
<th scope="col">a</th>
<th scope="col">b</th>
<th scope="col">c</th>
<th scope="col">d</th>
</thead>
</table>
</div>
<a href="/change/" class="btn btn-primary" >Submit</a>
</form>
</div>
</div>
</div>
</main>
{% endblock %}
{{ 数据}} 只是作为概念证明,直到我可以让它正常工作
- 您不能直接显示查询集,您需要在模板中遍历它。
- 您可以使用 object.myfieldname 在模板中访问对象的字段。
示例:
{% for item in data %}
<p>item.one_of_my_fields</p>
{% endfor %}
你也可以为你的 class 定义一个默认的字符串方法,你可以看到默认的 django returns ChangeLog object (1)
。
示例:
class Genre(models.Model):
name = models.CharField(max_length=30, unique=True)
def __str__(self):
return self.name
现在我可以直接在我的模板中调用我的对象,它将 return 流派的名称。
{% for item in data %}
<p>item</p>
{% endfor %}
当我通过视图 运行 查询集并将其传递给模板时,我得到的是以下内容:
<QuerySet [<ChangeLog: ChangeLog object (1)>, <ChangeLog: ChangeLog object (2)>, <ChangeLog: ChangeLog object (3)>, <ChangeLog: ChangeLog object (4)>, <ChangeLog: ChangeLog object (5)>, <ChangeLog: ChangeLog object (6)>, <ChangeLog: ChangeLog object (7)>, <ChangeLog: ChangeLog object (8)>, <ChangeLog: ChangeLog object (9)>, <ChangeLog: ChangeLog object (10)>, <ChangeLog: ChangeLog object (11)>]
如何通过查询显示字段字典?
观看方法:
def changeres(request):
if request.user.is_authenticated:
name = request.session.get('name')
data = ChangeLog.objects.all()
return render(request, 'changeres.html', {'data': data})
模板:
{% extends "universal/header.html" %}
{% block content %}
<main role="main" class="col-md-9 ml-sm-auto col-lg-10 px-4">
<div class="forms-content">
<div class="tab-content" id="pills-tabContent">
<p></p>
<img class="mb-4" src="/static/FWIcon.png" alt="" width="100" height="100">
<p></p>
<div class="tab-pane fade show active" id="pills-home" role="tabpanel" aria-labelledby="pills-home-tab">
<form action="/change/action/" method="POST">
<p class="formtitle">Change Lookup</p>
<p></p>
{% csrf_token %}
<div class="form-group">
<label class="fieldtitle"> Search Results </label>
<table class="table">
{{ data }}
<thead>
<th scope="col">a</th>
<th scope="col">b</th>
<th scope="col">c</th>
<th scope="col">d</th>
</thead>
</table>
</div>
<a href="/change/" class="btn btn-primary" >Submit</a>
</form>
</div>
</div>
</div>
</main>
{% endblock %}
{{ 数据}} 只是作为概念证明,直到我可以让它正常工作
- 您不能直接显示查询集,您需要在模板中遍历它。
- 您可以使用 object.myfieldname 在模板中访问对象的字段。
示例:
{% for item in data %}
<p>item.one_of_my_fields</p>
{% endfor %}
你也可以为你的 class 定义一个默认的字符串方法,你可以看到默认的 django returns ChangeLog object (1)
。
示例:
class Genre(models.Model):
name = models.CharField(max_length=30, unique=True)
def __str__(self):
return self.name
现在我可以直接在我的模板中调用我的对象,它将 return 流派的名称。
{% for item in data %}
<p>item</p>
{% endfor %}