Py学习  »  Django

[精华] 如果 models 里面有很多类,想要将其拆分有什么好办法

呆滞的慢板 • 10 年前 • 5677 次点击  

如果 models 里面有很多类,想要将其拆分有什么好办法

我现在有一个 project 项目,然后下面创建了一个 app 来放置模型

但是这个 app 里面的模型会有比较多的类,用什么结构来拆分呢?

我试过将 models.py 删掉,然后创建一个 models 文件夹作为模块,然后在 init.py 里面用 from xxx.py import * 导入所有其他模块里面定义的类。

然后

python manage.py validate 是没有问题的

然后

python manage.py shell 进去,能够正常访问到类

但是问题是 syncdb 创建不了表

我这样的做法有问题吗?有什么办法解决呢?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/391
 
5677 次点击  
文章 [ 4 ]  |  最新文章 10 年前
易冷天涯
Reply   •   1 楼
易冷天涯    10 年前

我现在已经形成在init.py里import并且在每个Model下写app_label的强迫性习惯了……

Py站长
Reply   •   2 楼
Py站长    10 年前

@呆滞的慢板 我一般是拆分成多个model文件,但是会保留models.py文件

Py站长
Reply   •   3 楼
Py站长    10 年前

嗯,不错的文件管理方式。我都是直接在App目录下散落很多model文件

呆滞的慢板
Reply   •   4 楼
呆滞的慢板    10 年前

又自己找到答案了:

http://stackoverflow.com/questions/16722377/split-models-over-packages

需要显式在 Meta 类里面指定 app_label