作者jackjenny (痛苦)
看板Python
标题[问题] Django模型与资料库(书籍It's Django)
时间Wed Mar 23 06:32:12 2016
最近买了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://webptt.com/cn.aspx?n=bbs/Python/M.1458685941.A.A08.html