Re: [問題] django model引進其他model

看板Python作者 (coolman)時間15年前 (2010/08/02 13:18), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
google了好久 總算讓我找到解決方法了 再說明一下問題好了 問題是:因為將所有的class都寫在同一個model.py會變得不容易管理,且檔案會變很大 所以想要將class切成較小的檔案來使用 [資料夾架構] mysite -setting.py -books -__init__.py -Model -__init__.py -model.py -Publisher.py -Book.py -Author.py 紅色代表位置有更動的地方 [檔案內容] model.py ======== from books.Model.Publisher import * from books.Model.Author import * from books.Model.Books import * setting.py ======== INSTALLED_APPS = ( ... 'TMSTAF.mysite.Model', } *指令必須要用python manage.py sql Model *因為model.py在Model之下 [參考資料] http://justinlilly.com/blog/2009/oct/27/fix-your-models-subdir/ http://0rz.tw/9wqo6 http://0rz.tw/pGKkz http://0rz.tw/tBYcR 希望能幫到和我碰到一樣問題的人:-D ※ 引述《linchen1 (coolman)》之銘言: : 最近剛開始接觸django和python : 按照了turtorial練習 : 在model的那一章節 : 會把資料庫的全部內容寫在app的models.py裡頭 : 但我想要把不同的class都分開來 : 並統一放在一個Model的資料夾中 : 但最後跑的結果是錯誤的 : 以下是詳細的介紹 : [資料夾架構](僅列出以下有提及的) : mysite : -setting.py : -books : -__init__.py : -models.py : -Model : -Publisher.py : -Book.py : -Author.py : 綠色代表資料夾 : [檔案內容] : models.py : ========== : from Model import Publisher.py : from Model import Book.py : from Model import Author.py : Publisher.py : ========== : from django.db import models : class Publisher(models.Model): : name = models.CharField(max_length=30) : Book.py : ========== : from django.db import models : class Book(models.Model): : title = models.CharField(max_length=100) : Author.py : ========== : from django.db import models : class Author(models.Model): : first_name = models.CharField(max_length=30) : [執行結果] : 執行python manage.py syncdb的結果 : 會有一堆錯,以下是最後三行 : File "D:\python\mysite\..\mysite\books\models.py", line 1, in <module> : from Model import Publisher : ImportError: No module named Model : 我google查了很久,有人說必須要在Model下放入一個空的__init__.py : 執行python manage.py syncdb還真的OK : 但是執行python manage.py sql books卻看不到class的內容(資料庫架構) : 這樣應該還是錯吧? : 好像也有人說是setting.py的問題 : 所以以下是我的setting.py中的INSTALLED_APPS : INSTALLED_APPS = ( : 'django.contrib.auth', : 'django.contrib.contenttypes', : 'django.contrib.admin', : 'mysite.books', : ) : 想問應該要怎麼寫才會對呢? : 因為急著要解決 : 所以盡可能的把所有資訊打上去了 : 很感謝願意看完的版友 : 先謝謝大家了:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.211.32.194 ※ 編輯: linchen1 來自: 218.211.32.194 (08/02 13:18)

08/03 12:37, , 1F
thanks
08/03 12:37, 1F

08/03 14:10, , 2F
推一下^^
08/03 14:10, 2F
文章代碼(AID): #1CLbKP5y (Python)
討論串 (同標題文章)
文章代碼(AID): #1CLbKP5y (Python)