Tôi là một người mới đến django, vì vậy câu hỏi có thể là câm, nhưng xin vui lòng dạy tôi đúng cách nếu bạn biết điều đó. Tôi đã cố gắng giải quyết vấn đề, nhưng tôi vẫn thua lỗ. Dưới đây là vấn đề của tôi:Hai phím nước ngoài và một giá trị trong mẫu django
Tôi có một lớp trong mô hình của tôi có hai phím nước ngoài:
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
Theo quan điểm của tôi, tôi nhận được một phần danh sách các đối tượng X và một phần danh sách các đối tượng Y như vậ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})
Trong mẫu của tôi, tôi muốn để có thể hiển thị một bảng như sau:
<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 %}
Làm cách nào để làm điều này đúng trong django?
Cảm ơn bạn rất nhiều,
Tôi có thể lọc danh sách trong chế độ xem, nhưng nó vẫn không giúp tôi hiển thị chính xác (nghĩa là tôi cần ghép cặp khóa (x, y) thành giá trị z [x, y] trong mẫu để hiển thị nó trong một ô bảng thích hợp). Am i thiếu cái gì ở đây? – mfynf