django模型-使用mysql数据库
一、在虚拟环境中安装mysql包
pip install mysqlclient

二、在mysql中创建数据库

三、打开settings.py文件,修改DATABASES项

四、在models.py中定义模型类
1 from django.db import models 2 3 # Create your models here. 4 5 #管理器是模型类的属性,用于将对象与数据表映射 6 class BookInfoManager(models.Manager): 7 def get_queryset(self): 8 # return super(BookInfoManager,self).get_queryset().filter(isDelete=False) 9 return super().get_queryset().filter(isDelete=False) #修改管理器返回的原始查询集:重写get_queryset()方法 10 11 def create_book(self,btitle,bpub_date): # _init _方法已经在基类models.Model中使用,在自定义模型中无法使用。方法一:在自定义管理器中添加一个方法。推荐使用此方法 12 b=BookInfo() 13 b.btitle=btitle 14 b.bpub_date=bpub_date 15 b.bread=0 16 b.bcommet=0 17 b.isDelete=False 18 return b 19 20 class BookInfo(models.Model): 21 btitle=models.CharField(max_length=20) 22 bpub_date=models.DateTimeField(db_column='pub_date') 23 bread=models.IntegerField(default=0) 24 bcommet=models.IntegerField(null=False) 25 isDelete=models.BooleanField(default=False) 26 class Meta(): 27 db_table='bookinfo' #元信息db_table:定义数据表名称,推荐使用小写字母,数据表的默认名称 28 29 books1=models.Manager() #为模型类指定管理器,且django不再为模型类生成名为objects的默认管理器。即models.Manager() 代替了objects() 30 books2=BookInfoManager() #修改了原始管理器 31 32 @classmethod 33 def create(cls,btitle,bpub_date): # _init _方法已经在基类models.Model中使用,在自定义模型中无法使用。方法一:在模型类中增加一个类方法 34 b=BookInfo() 35 b.btitle=btitle 36 b.bpub_date=bpub_date 37 b.bread=0 38 b.bcommet=0 39 b.isDelete=False 40 return b 41 42 class HeroInfo(models.Model): 43 hname=models.CharField(max_length=10) 44 hgender=models.BooleanField(default=True) 45 hcontent=models.CharField(max_length=1000) 46 isDelete=models.BooleanField(default=False) 47 book=models.ForeignKey(BookInfo,on_delete=models.CASCADE)
五、数据迁移

六、可进入shell命令检查模板,mysql命令检查数据表


posted on 2020-01-21 00:00 cherry_ning 阅读(279) 评论(0) 收藏 举报
浙公网安备 33010602011771号