【发布时间】:2014-09-23 17:56:37
【问题描述】:
我是 完全 python 和 django 的新手,如果这似乎是一个愚蠢的问题,请原谅我。我有一种感觉,我并不真正了解我在处理什么,即使我知道我希望我的结果是什么样子。
我需要一个包含两组内容的字典,为简单起见,我只想说我下面的键对应于一个已经工作的查询 - 这些是字段名称。我想要发生的只是使用最终在名为 values 的列表中的数据预填充 Django ModelForm 以下。值的数据提取工作完美。我想要一个字典的唯一原因是因为这是 Django ModelForm 想要传递给它的,以便让用户更改或接受我的初始数据。我相信我被绊倒了,因为这是我第一次处理字典,尤其是在 django 下的 python 中。我已经使用 dict zip 技术进行了研究,它运行时没有错误,但所有内容最终都绑定到我称之为 name 的键上,该键当然来自数据库表的字段名称。
如果我放一个 import pdb ; pdb.set_trace 就在我的 return 语句之前并询问调试器我得到的数据是什么样的:
{'name': ['IB Report', 'IB Daily Report', 'Add description']}
有人可以让我走上正确的道路吗?
def mysql_ser_reports_mgmt(id):
keys = ['name','subject','description']
values = []
for report in Report.objects.filter(id=id):
values.append([str(report.name), str(report.subject), str(report.description)])
data = dict(zip(keys,values))
return data
【问题讨论】:
标签: python django list dictionary django-forms