Python 板


LINE

各位Python版版友好,想请问在django专案底下,如何组织那些 提供给多个app共用的model? django预设专案结构长这样,这种分区式(divisional)的结构对於 建构那些独立的模组很方便,可以做到随插即用。 project_root/ |-------/app1/models.py |-------/app2/models.py |-------/project_name/ |-------/manage.py 然而,最近我在写的应用程式,比较偏向多个应用模组都会使用到 相同的几个 "共用" model,之前写flask时,我只需要把专案结构改成: project_root/ |-------/models/ |-------/app1/ |-------/app2/ 这种偏向功能式(functional)结构即可,但是当使用django时, 我会碰到以下的错误讯息: RuntimeError: Model class models.employee.Employee doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS. 目前只能别无选择,import其他app内的model,但这显然不是一个 好方法,完全丧失application各自独立的优点,後续也难以维护, 看到几本django的书,讨论这部分的比较少,想请问各位版友,有没有 更好组织专案的方法。 谢谢 :wq -- ◣▂▃▄▄▃▂◢ 塑化剂?有加啊 ▃▂▃▂ >〈 / ╲ 猴死囝仔, ◣◢▂▼ ^ / ● ● \ 为什麽之前没说? 连我都不敢用的东西 . . ◤ | | ◥因为你没问啊 你居然用这麽多! \〔╮ \ ︶︶ / 早知道就用了 / 【黑心厂商】 ψhacoolman 【市民代表】 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.194.133.160
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1521990140.A.D9B.html
1F:→ Panthalassa: 一个笨想法:能不能一个空 app 专门给别人 model ? 03/25 23:36
2F:→ djshen: 哪种程度的共用? 直接fk? 还是只要可以用API就好 03/25 23:52
3F:→ frank910138: 用个main app 当作常用的model? 03/26 00:29
4F:→ laputaflutin: 回一楼:这种方法我也有想过...可是感觉很怪,这样 03/26 00:55
5F:→ laputaflutin: 感觉所有的app都要依赖这个app,但是其实我只是想要 03/26 00:55
6F:→ laputaflutin: model共用阿... 03/26 00:56
我解释一下个人觉得怪在那里,model代表的是db的各个table,就我的 理解来说,AP层与db层关系应该尽可能抽象,不同的ap存取table的行为 完全独立,即使存取的都是同一个table,不应该被锁在django application 的结构内,用一个main app不是不行,但是我怎麽想都应该要有个更好的 解决方法阿XD。
7F:→ laputaflutin: 回二楼:直接fk,以及继承都可能用到,如果只是抽象 03/26 00:57
8F:→ laputaflutin: model,可以直接引用,但是如果是proxy就无法了 03/26 00:57
project_root/ |------model_base/ (抽象model) |------people_base |------app1/models.py |------app2/models.py 在抽象model的情况下,这种组织方法OK,但如果使用的是代理(proxy) 则会报错。 ※ 编辑: laputaflutin (123.194.133.160), 03/26/2018 01:15:18







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP