Re: [問題] Django模型與資料庫(書籍It's Django)

作者: drm343 (一卡)   2016-03-23 11:07:31
※ 引述《jackjenny (痛苦)》之銘言:
原文恕刪
: [Q1]:
: =================================================================
: step6:離開shell讓剛修改的models.py可以被載入直譯器
: 在進入Django shell 並再次匯入
: >>>from restaurant.models import Restaurant,Food
: >>>restaurants=Restaurant.objects.all()
: >>>restaurants
: [<Restaurant:派森家常小館>,<Restaurant:古意的餐廳>]
: #(這是書上預設的答案會出現兩家旅館名稱但是我操作三天都是以下答案
: [<Restaurant:Restaurant object>,<Restaurant:Restaurant object>,
: <Restaurant:Restaurant object>,<Restaurant:Restaurant object>] )
: #本文問題就是為什<Restaurant:Restaurant object>出現四次????
: 而不是書上預期的答案會出現旅館名子?卡關四天
: 先感謝高手大大們(雖然打字很辛苦 你們看更辛苦)
我的第一感是你裝的 python 版本跟書上的不同,後來看到你 Q2 就確定了。
__unicode__ 是 python2 的作法,到 python3 時要改用 __str__。
python2 跟 python3 之間有很多細部差異,如果不清楚這些差異,建議跟書本
使用相同版本的 python,那本我好像只有在書局翻過一次,印象中是用 python2。
: [Q2]:
: 證據就是輸入指令變成>>>
: 但一開始的歡迎畫面卻是Python3.4版本資訊
: 讓我猶豫是回到python shell而不是Django shell
: 這方面有大大能回答嗎
: 卡關三天很沮喪中...............
: 感謝
其實 django shell 只是幫你把 django 的環境自動載入 python shell 中,
所以直接跑 python shell 再自己手動載入 django 也是一樣的意思,只是比
較累。
理論上你建立 django project 後,在 project 內一定會有一份 manage.py,
在 linux 上預設應該是可執行的,所以在 manage.py 那個目錄直接下下面這
段程式就可以,不需要前面那個 python。
./manage.py shell

Links booklink

Contact Us: admin [ a t ] ucptt.com