[問題] django model引進其他model
最近剛開始接觸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: 122.116.137.70
※ 編輯: linchen1 來自: 122.116.137.70 (08/01 20:10)
※ 編輯: linchen1 來自: 122.116.137.70 (08/01 20:14)
推
08/01 23:14, , 1F
08/01 23:14, 1F
在Model資料夾下有放__init__.py的情況下,執行結果正常(如下)
Creating table auth_permission
Creating table auth_group_permissions
Creating table auth_group
Creating table auth_user_user_permissions
Creating table auth_user_groups
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_admin_log
You just installed Django's auth system, which means you don't have any
superuse
rs defined.
Would you like to create one now? (yes/no): no
Installing index for auth.Permission model
Installing index for auth.Group_permissions model
Installing index for auth.User_user_permissions model
Installing index for auth.User_groups model
Installing index for auth.Message model
Installing index for admin.LogEntry model
No fixtures found.
如果沒有放就會有一連串的錯誤訊息,最後幾行如下
File "C:\Python26\lib\site-packages\django\utils\importlib.py", line 35, in
im
port_module
__import__(name)
File "D:\python\mysite\..\mysite\books\models.py", line 1, in <module>
from Model import Publisher
ImportError: No module named Model
謝謝妳願意認真看^^
※ 編輯: linchen1 來自: 122.116.137.70 (08/02 00:53)
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):