环境:win10
开发平台:PyCharm2019.1.2(Professional Edition)
python版本:python3.6
File->New Project->
PyCharm会自建Django项目,并安装好所需第三方库(Django、sqlparse、pytz)
在界面中的Terminal中输入命令 python manage.py startapp booktest//booktest为应用名称
创建成后,目录结构如下
在应用中定义模型(booktest->models.py)
from django.db import models
class BookInfo(models.Model):
btitle = models.CharField(max_length=20)
bpub_date = models.DateTimeField()
def __str__(self):
return "%d" % self.pk
class HeroInfo(models.Model):
hname = models.CharField(max_length=20)
hgender = models.BooleanField()
hcontent = models.CharField(max_length=100)
hBook = models.ForeignKey('BookInfo',on_delete=models.CASCADE)
def __str__(self):
return "%d" % self.pk
PS:在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然下一步迁移时会报错:
TypeError: init() missing 1 required positional argument: ‘on_delete’
参考网址
#引入需要的包
from booktest.models import BookInfo,HeroInfo
from django.utils import timezone
from datetime import *
#查询所有图书信息
BookInfo.objects.all()
#新建图书信息
b = BookInfo()
b.btitle="射雕英雄传"
b.bpub_date=datetime(year=1990,month=1,day=10)
b.save()
#查找图书信息
b=BookInfo.objects.get(pk=1)
#输出图书信息
b
b.id
b.btitle
#修改图书信息:
b.btitle=u"天龙八部"
b.save()
#删除图书信息:
b.delete()
h=HeroInfo()
h.hname=u'郭靖'
h.hgender=True
h.hcontent=u'降龙十八掌'
h.hBook=b
h.save()
b.heroinfo_set.all()
h=b.heroinfo_set.create(hname=u'黄蓉',hgender=False,hcontent=u'打狗棍法')
h
PS:
1、在Shell中无法直观查看数据,可在PyCharm中View->Tool Windows->Database调出数据库查看数据
2、在shell中想退出shell界面可以输入quit()或者Ctrl+Z
若有错误,请多多指正!!!