如何为类似scrum的董事会开发后端

时间:2011-08-30 13:59:51

标签: ajax django

目前,我正在为GPL应用程序(e-cidadania)开发一个辩论模块(很像scrum / kanban板),我对复杂的后端没有任何经验。我已经为它开发了一个基本的前端,但现在我不知道我应该使用什么方法来为ajax和django后端保存和操作表和注释。

该表可以是N行和N列,每行和每列都有一个名称和位置。每个注释还有一个位置,文本和注释(使用django注释框架管理)。

我想存储每个音符的父元素(所以我可以稍后放置)并存储行和列的名称,如CSV字符串。这是一个好方法吗?

当前前端的屏幕截图:http:// ur1。 CA / 4zn4h

更新:我差点忘了,前端已经完成了jQuery Sortables(所以用户可以根据自己的喜好移动音符)和CSS3。

1 个答案:

答案 0 :(得分:0)

你只需要在Django中建模你的域(即看起来像scrum板的辩论)。首先用简单的英语思考它,就像这样:

  

辩论。它们由标准组成,按特定顺序按行和列组织。这会创建单元格,可以在其中包含笔记。

然后您可以设置将其转换为模型类。不要太担心它们包含的字段,最重要的是关系(所以ForeignKey位):

class Debate(models.Model):

    title = ...

class Column(models.Model):

    title = ...
    order = ...
    board = models.ForeignKey(ScrumBoard, related_name='columns')

class Row(models.Model):

    title = ...
    order = ...
    board = models.ForeignKey(ScrumBoard, related_name='rows')

class Cell(models.Model):

    column = models.ForeignKey(Column)
    row = models.ForeignKey(Row)

class Note(models.Model)

    text = ...
    cell = models.ForeignKey(Cell)

但是,对于你需要的东西,这可能过于复杂。我不是你想要解决的问题的专家吗?我的建议是,Django很快 - 所以开始黑客攻击,然后试一试,如果一切都搞错了,那么你可以回过头几步,清理你的数据库然后再试一次。

您可能会发现使用South很有用,{{3}}会在您执行模拟中添加/删除/编辑字段等操作时执行数据库迁移。