【问题标题】:Dynamic Nested Formsets in DjangoDjango 中的动态嵌套表单集
【发布时间】:2011-09-12 22:36:46
【问题描述】:

我已经看过一些关于此的博客文章(例如来自 yergler 的文章),但一直未能找到一个好的优雅解决方案。

我有 3 个模型:

class Workflow(models.Model): 
    name = models.CharField(max_length=255) 
    company = models.ForeignKey(Company) 
    class Meta: 
        unique_together = ('name', 'company') 
class Milestone(models.Model): 
    workflow = models.ForeignKey(Workflow) 
    tasks = models.ManyToManyField(Task) 
class Task(models.Model): 
    task = models.CharField(max_length=255) 

如何创建一个表单,让我可以将许多里程碑添加到一个 工作流和许多任务到一个里程碑?

基本上,我想给他们一个创建表单或一个编辑表单,并允许他们构建具有里程碑和任务的工作流,但希望允许他们使用 javascript 动态添加它们。

动态/javascript 部分很简单,但我无法弄清楚如何将表单集嵌套在表单集中。即里程碑下的任务。

【问题讨论】:

    标签: jquery python django django-forms


    【解决方案1】:

    我个人认为完全不使用 formset 类会更容易,只需滚动您自己的 NestedFormset 类,例如,它将解析具有多个前缀的数据 - 即

    1.title => "Milestone 1 title"
    2.title => "Milestone 2 title"
    1.1.task => "Task for milestone 1"
    1.2.task => "Task for milestone 2"
    

    我很确定在 github 上发布这种可扩展的 Formset 类的人会获得大量的追随者和赞誉:P 我不确定是否有可能以允许嵌套的方式修补 Formset 类,同时使其向后兼容 - 从我使用它的记忆来看,这将非常复杂。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-26
      • 2013-02-15
      • 1970-01-01
      • 2020-10-29
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 2011-10-29
      相关资源
      最近更新 更多