0
我試圖建立一個表,Django的是:填充的2D表逆向引用
- 採用的行和列之間的許多一對多的關係。
- 允許空白。
- 可擴展。
- 存儲可以使用行和列名稱檢索的值。我試圖使用中間模型來做到這一點(不知道這是否是最好的方式)。
我被卡住了引用的值。我的HTML表格需要列出所有可能的行和列,我不認爲我可以通過循環表值來實現,因爲有些可能不存在。
這裏是什麼,我試圖做一個例子...
models.py
from django.db import models
class Row(model.Models):
name = models.CharField(max_length=8)
class Col(model.Models):
rows = ManyToManyField(Row, through='Table')
name = models.CharField(max_length=8)
class Table(model.Models):
row = ForeignKey(Row)
col = ForeignKey(Col)
value = models.FloatField()
的觀點:
views.py
from django.shortcuts import *
from test.app.models import *
def table(request):
rows = Row.objects.all()
cols = Col.objects.all()
values = Table.objects.all()
return render_to_response(
'app/table.html',
{'row_list': rows, 'col_list': cols, 'value_list': values}
)
HTML代碼(被卡住試圖訪問值):
table.html
{% extends "base.html" %}
{% block content %}
<h2>My Table</h2>
<ul>
<TABLE border=4 bgcolor=lightgray align=center>
<TR>
<TD align=center bgcolor=darkgray><strong></strong></TD>
{% for col in col_list %}
<TD align=center bgcolor=darkgray><strong>{{ col.name }}</strong></TD>
{% endfor %}
</TR>
{% for row in row_list %}
<TR>
<TD align=center bgcolor=darkgray><strong>{{ col.name }}</strong></TD>
{% for col in col_list %}
{% if row in col.rows.all %}
<!-- How can I access the table values here? -->
<TD align=left><input type="text" name="value" value="???" id="id_{{ col.id }}_{{ row.id }}" /></TD>
{% else %}
<TD align=left><input type="text" name="value" value="" id="{{col.id}}_{{row.id}}" /></TD>
{% endif %}
{% endfor %}
</TR>
{% endfor %}
</ul>
{% endblock %}
我最終想讓它更新值的形式,但現在我只需要讓我的html代碼工作。任何幫助,將不勝感激。