我已经看过一些关于此的博客文章(比如来自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部分很简单但我无法弄清楚如何在formset中嵌套formset。即里程碑下的任务。
答案 0 :(得分:0)
就我个人而言,我认为在不使用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类,同时使其向后兼容 - 从我使用它的记忆来看,这将非常复杂。