Re: [問題] django model引進其他model
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
08/03 12:37, 1F
推
08/03 14:10, , 2F
08/03 14:10, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章