我正在try 基于表模型及其列动态呈现一个表.在模板中,我遍历qeuryset中的每一项,然后遍历硬编码列名列表中的每一列,但Django返回Could not parse the remainder: '[column]' from 'table[column]'
错误.table.id
呈现正确的id值,但table[column[0]]
返回错误.Django不允许变量使用方括号表示法吗?
在本例中,TABLE是模型类的词典,COLUMNS是模型的列名列表.
<tbody>
{% for table in query_set %}
<tr>
{% for column in columns %}
<td>{{table[column]}}</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
我还try 在表DICT上使用.Items方法:
<tbody>
{% for table in query_set %}
<tr>
{% for key, value in table.items %}
<td>{{value}}</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
但这不会产生任何影响.Table.Items似乎未定义.
相应的视图:
def index(request):
cur_user = request.user
Model = get_model(query.table)
columns = get_table_columns(query.table)
#
# code for processing raw SQL query here
#
query_set = Model.objects.raw(query_string)
context = {
'columns': columns,
'cur_user': cur_user,
'query_set': query_set
}
return render(request, 'flight_deck/index.html', context)