是否有任何属性或方法可以通过django中的queryset获取objects'name 我有一些像这样的代码
# in views.py
product = []
product.append(Pc.objects.filter(user__name=pk)) ## user is a foreignkey
product.append(Monitor.objects.filter(user__name=pk))
arr = { 'type': 1,
'product': product,
'name': name,
}
return render_to_response('list.html', arr)
在模板list.html中
......
<tbody>
{% for pr in product %}
<tr style="text-align:center" class="form-inline">
<td>
{{ name }}
</td>
{% for p in pr %}
<td>
{{ p.number }}
</td>
<td>
{{ p.product }}
</td>
<td>
{{ p.comment }}
</td>
<td>
<a href="/update/objects/{{ p.id }}/" class="btn btn-success btn-sm" >edit</a>
<a href="/delete/objects/{{ p.id }}/" onclick="return confirm('Are you sure to delete?')" class="btn btn-danger btn-sm" >delete</a>
</td>
{% endfor %}
{% endfor %}
</tr>
</tbody>
我应该如何在list.html中获得像Pc或Monitor这样的“对象”?
答案 0 :(得分:1)
不是试图获取类型然后在模板中显示类名,为什么不在类中添加静态属性呢?
class Pc(models.Model):
product_display_name = 'PC'
class Monitor(models.Model):
product_display_name = 'Monitor'
然后在模板中
{% for p in pr %}
<td>
{{ p.product_display_name }}
</td>
<td>
{{ p.number }}
</td>
{% endfor %}
如果您真的想从该类型中获取名称,则可以使用以下
type(instance).__name__