2011-06-11 107 views
3

我已經看到了有關這幾篇博客(比如從yergler之一),但一直沒能找到一個很好的優雅的解決方案。動態嵌套表單集在Django

我有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

我個人認爲這是比較容易做到這一點,而無需使用表單集類的一切,您只需將自己的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這樣的擴展表單集類類將得到噸的追隨者和CUDOS的人:P 我不知道是否有可能打補丁的方式,這將允許嵌套,而留在該表單集類向後兼容 - 從我的使用記憶來看,這將是非常複雜的。