【问题标题】:Django ModelChoiceField initial data not working for ForeignKeyDjango ModelChoiceField 初始数据不适用于 ForeignKey
【发布时间】:2009-08-18 22:34:00
【问题描述】:

我正在使用 normail 用初始数据填写我的表单:

form = somethingForm(initial = {
                    'title' : something.title,                    
                    'category' : something.category_id,
                })

标题工作正常,但如果类别是模型中的 ModelChoiceField 和 ForeignKey,则初始数据将不起作用。选择框中不会选择任何内容。如果我在模型中将类别更改为 IntegerField,它可以正常工作。

我仍然想为类别使用 ForeignKey,那么我该如何解决这个问题?

【问题讨论】:

    标签: python django


    【解决方案1】:

    也许尝试使用类别的实例而不是其 ID?

    【讨论】:

      【解决方案2】:

      你需要这样做

      form = somethingForm(initial = {
                          'title' : something.title,                    
                          'category' : [("database value","display value")],
                      })
      

      为什么要列出元组?

      1. 因为选择字段与选择小部件相关联(即 html ===> ....)

      2. 对于每个选项,我们需要指定两件事 1.内部值 2.显示值(列表中的每个元组都指定这个)

      【讨论】:

      • 我试过这个但没有用:'category' : [(something.category_id,something.category_id.title)],
      • 另外,这并不能解释为什么如果我将模型更改为 IntegerField 而不使用您在上面发布的代码,它可以正常工作。关于为什么会发生这种情况的任何想法?
      猜你喜欢
      • 2011-08-11
      • 2010-11-23
      • 2016-07-07
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多