Django 开发实战 2-2 模型 -创建模型类

python 开发实战 -创建模型类

  • 一、介绍:
  • 二、根据迁移文件生成映射书库据表。
  • 三、查看数据库是否根据牵引文件的需求生成数据库,因此返回终端去连接`filmdatabase `数据库。
  • 四、最后,了解一些数据库的知识说明。

一、介绍:

  模型类被创建在"应用目录/models.py"文件中。模型类必须继承自Model类,位于包dango.db.models中。接下来首先以"影片-人物"管理为例进行演示。
1定义在models.py文件中定义模型类。

from django.db import models

# Create your models here.
#影片信息模型类
class FilmInfo(models.Model):
    """fimInfo model"""
    fid = models.AutoField(primary_key=True, verbose_name='影片编号')
    fname = models.CharField(max_length=20, verbose_name="影片名称")
    playcount = models.IntegerField(default=0, verbose_name="播放量")
    commentcount = models.IntegerField(default=8, verbose_name="评论量")
    pub_date = models.DateField(null=True, verbose_name="发布日期")
    is_delete = models.BooleanField(default=False,verbose_name="逻辑删除")

    class Meta:
        db_table = "filminfo" #指明数据库表名
        verbose_name ="影片信息" #在admin站点中显示的名称
#优化模型类输出
    def __str__(self):
         return self.fname

class PeopleInfo(models.Model):
	GENDER_CHOICES=(
		(0,'男'),
		(1,'女')
	)
	uid=models.AutoField(primary_key=True,verbose_name='编号')
	uname=models.CharField(max_length=10,verbose_name='编号')
	gender=models.SmallIntegerField(choices=GENDER_CHOICES,default=0,verbose_name='性别')
	desc =models.CharField(max_length=2000,null=True,verbose_name='简介')
	# 外键约束,人物属于那部影片
	film=models.ForeignKey(FilmInfo,on_delete=models.CASCADE,verbose_name='影片')
	is_delete = models.BooleanField(default=False,verbose_name='逻辑删除')

	class Meta:
		db_table='t_peopleinfo'  #指名数据库表名
		verbose_name='人物信息'  #在admin 站点中显示的名称
	#优化模型类输出
	def __str__(self):
		return self.uname

下面结果会报错,

#创建牵引文件连接数据库,Mysql ,下面连接数据库会报错。
  (py3_001) boot@boot-virtual-machine:~/Desktop/djprojects/film_manager$ python manage.py makemigrations film
Traceback (most recent call last):
  File "/home/boot/Desktop/djprojects/film_manager/manage.py"

你可能感兴趣的:(python,项目实战,linux,ubuntu,网络)