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

看板Python作者 (痛苦)時間9年前 (2016/03/23 06:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
最近買了It's Django書籍練習 大致上都可以操作成功 這幾天遇到一個問題卡關三天了 想請問這Django大大 [Q1]: 在It's Django第八章 模型與資料庫p134~p136 Step1:進入Django shell Step2:建立模型物件 >>>from restaurants.models import Restaurant,Food >>>r1=Restaurant(name='派森家常小館',phone_number='02-12345678', address='天龍國天龍區天龍路一號') >>>r1 <Restaurant:Restaurant object> (這句話是為了證明r1是Restaurant物件) step3:存檔 >>>r1.save() step4:書上建議希望一次完成模型資料的建立與寫入資料庫objects.create所以 >>>r2=Restaurant.objects.creat(name='古意得餐聽', phone_number='02-87654321',address='天龍國天龍區天龍路一百號') >>>r2 <Restaurant:Restaurant object> step5:r1與r2在shell出來的資訊會造成辨識困難 所以在原本的models.py增加_unicode_ =============================================================== from django.db import models class Restaurant(models.Model): name=models.CharField(max_length=20) phone_number=models.CharField(max_length=15) address=models.CharField(max_length=50,blank=True) def __unicode__(self): return self.name #(增加_unicode_) class Food(models.Model): name=models.CharField(max_length=20) price=models.DecimalField(max_digits=3,decimal_places=0) comment=models.CharField(max_length=50,blank=True) is_spicy=models.BooleanField(default=False) restaurant=models.ForeignKey(Restaurant) def _unicode_(self): return self.name #(增加_unicode_) ================================================================= 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>出現四次???? 而不是書上預期的答案會出現旅館名子?卡關四天 先感謝高手大大們(雖然打字很辛苦 你們看更辛苦) [Q2]: 另外有個問題想請問怎確定是進入Django shell而不是Python shell?? 按照網路Djangogirls教學文章 https://djangogirlstaipei.gitbooks.io/django-girls-taipei-tutorial/content/django/installation.html (djangogirls_venv) ~/djangogirls/mysite$ python manage.py shell 可進入Django 可是在我電腦確有問題而進不了下階段>>>畫面 (我的電腦資訊請參考Windows8/Python3.4/Django1.8 而我是參考官方Django文件 https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-shell 輸入指令python manage.py shell --plain 才進入疑似Django Shell.. 證據就是輸入指令變成>>> 但一開始的歡迎畫面卻是Python3.4版本資訊 讓我猶豫是回到python shell而不是Django shell 這方面有大大能回答嗎 卡關三天很沮喪中............... 感謝 -- 中國 香港 澳門 韓國 日本 菲律賓 汶萊 馬來西亞 新加坡 泰國 越南 柬埔寨 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.232.241 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1458685941.A.A08.html
文章代碼(AID): #1MySVre8 (Python)
文章代碼(AID): #1MySVre8 (Python)