mfy*_*ynf 5 django django-templates django-models django-views
我是django的新手,所以问题可能是愚蠢的,但如果你知道的话,请随时教我正确的方法.我试过谷歌搜索问题,但我仍然处于亏损状态.这是我的问题:
我的模型中有一个类有两个外键:
class X(models.Model):
name = models.CharField(max_length=30)
def __unicode__(self):
return name
class Y(models.Model):
name = models.CharField(max_length=30)
def __unicode__(self):
return name
class Z(models.Model):
name = models.CharField(max_length=30)
x = models.ForeignKey(X)
y = models.ForeignKey(Y)
def __unicode__(self):
return name
Run Code Online (Sandbox Code Playgroud)
在我看来,我得到了一个X对象的部分列表和一个Y对象的部分列表,如下所示:
def MyView(x_pattern, y_pattern):
x_list = X.objects.filter(name__contains=x_pattern)
y_list = Y.objects.filter(name__contains=y_pattern)
z_list = Z.objects.all()
return render_to_response({'x_list': x_list, 'y_list': y_list, 'z_list': z_list})
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我希望能够显示如下表格:
<table>
<tr>
<td>Y</td>
{% for x in x_list %}
<td>{{ x }}</td>
{% endfor %}
</tr>
{% for y in y_list %}
<tr>
<td>{{ y }}</td>
{% for x in x_list %}
<td>
<!-- here I need help:
I need to display z[x, y] if it exists, or "N/A" otherwise.
-->
</td>
{% endfor %}
</tr>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我怎么在django中正确地做到这一点?
非常感谢你,
您应该将逻辑保留在您的视图中。你为什么不直接过滤那里的 z_list 呢?
z_list = Z.objects.filter(x__name__contains=x_pattern, y__name__contains=y_pattern)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
698 次 |
| 最近记录: |