首先,我对Django很新,这是一个简单的问题。我道歉但我似乎无法正确地搜索搜索以找到答案。我们非常感谢您提供的任何帮助。
fyi:Django版本是1.3.7
我有一个简单的库存应用程序,我正在创建一个视图,按设备类型列出项目(例如:平板电脑)和模型类型(例如:iPad Air或iPad 2)。我希望能够列出设备类型的所有实例,并按模型排序结果。例如,我的页面看起来像这样:
片剂:
iPad的播出:
- 所有iPad播放列表
iPad 2 
- 所有iPad 2的列表
不幸的是,我的页面在每个列表中显示模型类型的单个实例,并为每个设备创建一个新列表,例如:
片剂:
iPad的播出:
- 仅列出单个项目
iPad Air的
- 仅列出单个项目
等...
iPad 2 
- 仅列出单个项目
iPad 2 
- 仅列出单个项目
等...
以下是我的models.py中的条目(仅编辑为重要位):
class DeviceType(models.Model):
device_type = models.CharField(max_length=25)
def __unicode__(self):
return self.device_type
class DeviceModelType(models.Model):
model_type = models.CharField(max_length=25)
def __unicode__(self):
return self.model_type
class Device(models.Model):
...
device_type = models.ForeignKey(DeviceType)
device_model = models.ForeignKey(DeviceModelType)
name_of_device = models.CharField(max_length=25)
...
def __unicode__(self):
return u'%s, %s, %s' % (self.name_of_device, self.manufacturer, self.device_model)
这是我的观点:
def check_out(request, device_id):
available_device_list = Device.objects.all().order_by('id')
return render_to_response('inventory/list.html', {'available_device_list': available_device_list, })
和我的模板:
{% extends "base.html" %}
{% block title %}Inventory Test{% endblock title %}
{% block head %}Inventory Test{% endblock head %}
{% block content %}
<p><h3>Inventory:</h3></p>
{% for Device in available_device_list %}
{{ Device.device_model }}'s:
<ul>
<li>
<a href="http://127.0.0.1:8000/inventory/device_checkout.html".{{ Device.device_model }}<strong>{{ Device.name_of_device }}</strong></a>
</li>
</ul>
{% endfor %}
{% endblock content %}
{% block footer %}
<p>
<hr/><br/>
<a href="http://127.0.0.1:8000/admin/">admin</a></p>
{% endblock footer %}