2013-08-29 22 views
0

我有一个问题,但我不知道组织django项目的最佳方式。我有两种类型赛事的同一型号(这仅仅是一个例子)如何在django项目中为同一模型组织变量管理/视图?

  • 赛(型基因敲除或联赛)
  • 比赛

如果比赛是淘汰赛,我必须创造一切第一轮的比赛,但如果是联盟,我必须为所有联赛创建所有比赛。

淘汰赛应该是一个淘汰赛树和联赛结果的表格和分类

我如何组织代码管理页面?

目前我有一个淘汰赛应用程序和一个联赛应用程序,当用户选择“admin”时,它将根据锦标赛类型重定向到一个应用程序。

另一个问题是:我需要在用户创建或更改锦标赛时运行一些进程,当用户添加或删除团队等,但同样的问题:当类型是淘汰赛时,我需要运行X进程,但如果它是联盟运行Y进程。

我需要一个适用于新类型比赛的可扩展解决方案,但我不知道什么是最好的架构/组织。

回答

0

在Django中,你也可以继承的模型类,但我可能会保持简单和愚蠢:

  • 创造比赛的典范。它的一个字段将确定它是什么样的比赛
  • 创建一个模型匹配

比赛类将包含的代码来创建其相关的比赛。

我现在不担心可扩展性太多。解决你现在有问题。当你参加6种以上比赛时,比赛级别会变得更加复杂,你也会更好地了解如何分配逻辑。

+0

最后我创建了一个服务层。有一个KnockoutService和一个LeagueService,然后是一个函数get_tournament_service()。该函数根据比赛类型返回服务,并且类在不知道实现的情况下使用它。这是一个非常常见的java模式,但我不知道python中是否有更好的方法 –

相关问题