Rub*_*nes 7 django django-models django-views
我的models.py中有以下内容:
class HostData(models.Model):
Manager = models.ForeignKey(Managers)
Host = models.CharField(max_length=50, null=True)
HostStatus = models.CharField(max_length=200, null=True)
Cpu = models.PositiveIntegerField(max_length=10, null=True)
Disk = models.FloatField(null=True)
Run Code Online (Sandbox Code Playgroud)
我想返回与某个"Manager"相关的对象的查询.问题是用户可以根据需要添加/删除尽可能多的管理员.所以我最初的想法是在我的views.py中有这样的东西:
def get_data(request):
for server in Managers.objects.all():
host_data = HostData.objects.filter(Manager=server)
# Lost after this :(
return render_to_response('mypage.html', {'first_set': host_data1, 'second_set': host_data2})
Run Code Online (Sandbox Code Playgroud)
那么,我怎样才能返回多个对象?就像用户添加另一个"管理器"一样,我将在views.py中获得第三组.
Set*_*eth 12
您可以查询相关对象,如下所示:
manager = Managers.objects.get(pk=1) # identify which manager you want
manager.hostdata_set.all() # retrieve all related HostData objects
Run Code Online (Sandbox Code Playgroud)
在您的模板中,您也可以直接访问hostdata_set
:
{% for manager in managers %}
{% for data in manager.hostdata_set.all %}
do something with {{ data }}
{% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我相信这就是你所要求的.
顺便提一下,如果您的Managers
模型存储有关单个"管理器"的数据,您可能会发现将其名称更改为单数非常有用Manager
.
归档时间: |
|
查看次数: |
14029 次 |
最近记录: |