|
|
1
34
所以,你不会喜欢这个答案,部分原因是我还没有完成代码的编写,部分原因是它需要大量的工作。 当我自己遇到这个问题时,我发现你需要做的是:
我与Brian和Joseph进行了几次卓有成效的谈话,讨论了如何在将来的Django版本中改进这一点;目前,模型表单集的工作方式只会让这个问题变得比通常情况下更麻烦,但是通过一些API清理,我认为它可以变得非常简单。 |
|
|
2
20
我花了相当多的时间试图想出一个可以跨站点重复使用的解决方案。詹姆斯的帖子包含了一个关键的智慧,那就是
管理员
forms.py
|
|
|
3
19
Django 1.4及更高版本的支持 providing initial values 就原来的问题而言,以下做法可行:
如果发现表单正在填充但未保存,则可能需要自定义模型表单。一种简单的方法是在初始数据中传递标记,并以init的形式查找它:
|
|
|
4
3
我遇到了同样的问题。 您可以通过JavaScript来实现这一点,制作一个简单的JS,为所有band成员调用ajax,并填充表单。 这个解决方案缺乏干式原理,因为您需要为您拥有的每个内联表单编写这个。 |
|
|
5
3
使用django 1.7,我们在创建一个内联表单时遇到了一些问题,该表单将额外的上下文烘焙到模型中(而不仅仅是要传入的模型实例)。 我提出了一种不同的解决方案,将数据注入传递到表单集的模型表单中。因为在python中,您可以动态创建类,而不是试图通过表单的构造函数直接传入数据,所以可以通过一个方法来构建该类,该方法包含您想要传入的任何参数。然后,当类被实例化时,它可以访问方法的参数。
然后,对内联表单集工厂的调用如下所示:
|
|
|
6
3
6年后,我遇到了这个问题,现在我们使用的是Django 1.8。 对于这个问题,仍然没有一个干净、简短的答案。 问题在于模型管理员。_create_formsets() github 我的解决方案是覆盖它,并在github链接中高亮显示的行周围注入我想要的初始数据。
我相信在接下来的版本中应该有一个更清晰的答案 |
|
|
7
2
您可以覆盖表单集上的空表单getter。以下是我如何与django admin一起处理此问题的示例:
|
|
|
8
0
|
|
|
9
0
只需重写“save_new”方法,它在Django 1.5.5中对我有效:
|
|
|
10
0
我也有同样的问题。我使用的是Django 1.9,我尝试了Simanas提出的解决方案,覆盖了属性“empty_form”,在dedict initial中添加了一些默认值。这是可行的,但在我的例子中,我有4个额外的内联表单,总共5个,五个表单中只有一个填充了初始数据。 我对代码进行了如下修改(参见初始dict):
如果我们找到一种方法使它在有额外表单时工作,这个解决方案将是一个很好的解决方法。 |
|
|
Patrick Bond · 如何将模型中的函数结果添加到列表中? 1 年前 |
|
|
bur · 每次从模板调用方法都会查询数据库吗? 1 年前 |
|
|
Stefan · 在子目录中设置Django 1 年前 |
|
|
vale383 · 如何在Django端点中查找user_id 1 年前 |
|
|
Kovy Jacob · Django在动态URL段中添加斜线 1 年前 |
|
|
user987 · 如何在Django中访问提交的表单请求数据 1 年前 |
|
|
user24242514 · 将嵌套查询字符串请求转换为字典 1 年前 |