我是 Django 的新手。
但是,我对 Django 的目录结构有点困惑。例如,我必须在不同的地方编写这么多的models.py,这可能会导致将来维护项目的困难。我想让它更像真正的 MVC 结构,每个模型文件都在一个模型目录中。
是否可以使用 South 来做到这一点,它似乎只查看 models.py,还是我应该考虑使用不同的迁移工具?
我是 Django 的新手。
但是,我对 Django 的目录结构有点困惑。例如,我必须在不同的地方编写这么多的models.py,这可能会导致将来维护项目的困难。我想让它更像真正的 MVC 结构,每个模型文件都在一个模型目录中。
是否可以使用 South 来做到这一点,它似乎只查看 models.py,还是我应该考虑使用不同的迁移工具?
Django 将代码组织到“应用程序”中,这就是为什么你有单独的 models.py 文件的原因,我认为没有办法将它们全部放在一个目录中,因为每个应用程序都有自己的 Python 包。
但是,我通常构建代码的方式是为我的所有代码创建一个(或几个,如果它是一个更大的项目)应用程序,因为您可以在单个 models.py 文件中拥有任意数量的模型。
我不认为 South 会帮助你,但它会让你更容易管理你的迁移,所以我强烈推荐它。
我认为 django 中没有将所有模型放在一个地方的规定。而且把所有东西放在一个地方也是个坏主意。因为每个应用程序都有自己的数据库架构,并且将应用程序独立起来是实现可重用性因素的必要条件。最好让模型彼此隔离,附加到他们的应用程序,因为它有助于可重用性。
南方没有做到这一点。它只是跟踪你的 Db 迁移 n 固定装置。
无论 DB Schema 设计得多么完美,South 都会在某一时刻出现。