Django ModelChoiceField初始数据对ForeignKey无效
我正在用一些初始数据来填充我的表单,使用的是正常的方法:
form = somethingForm(initial = {
'title' : something.title,
'category' : something.category_id,
})
标题部分工作得很好,但如果类别是一个ModelChoiceField,并且在模型中是一个外键,那么初始数据就不管用了。下拉框里什么都不会被选中。如果我把类别改成一个整数字段,效果就正常了。
不过我还是想用外键来表示类别,那我该怎么解决这个问题呢?
2 个回答
0
你需要这样做
form = somethingForm(initial = {
'title' : something.title,
'category' : [("database value","display value")],
})
为什么用元组列表?
因为选择字段是和下拉框(也就是网页上的选择框)相关联的。
对于每个选项,我们需要指定两件事:1. 内部值 2. 显示值(列表中的每个元组就是用来指定这两者的)。
1
也许可以试试用一个类别的实例,而不是它的ID?