实战之Django之Model建表流程

目录篇:Django之model操作ORM目录篇 点击跳转
主篇:Django之Model操作建表流程【ORM篇二】点击跳转

目录

  • 1.创建Django项目
  • 2.创建app(并且app目录下创建一个urls.py文件)
  • 3.settings注册app
  • 4.建表操作
  • 5.model表创建进入数据库

1.创建Django项目

Django之创建项目【二】:https://blog.csdn.net/Burgess_zheng/article/details/86505526

实战之Django之Model建表流程_第1张图片

2.创建app(并且app目录下创建一个urls.py文件)

进入项目目录下
创建app命令:
       F:\Burgess\Python\pycharm实验脚本\test\project_burgess>python manage.py startapp modes_handle

实战之Django之Model建表流程_第2张图片

3.settings注册app

路径:project_burgess/project_burgess/setting

实战之Django之Model建表流程_第3张图片

 

4.建表操作

路径:project_burgess/models_handle/models.py

from django.db import models

#UserGroup(组表)
class UserGroup(models.Model):
    uid = models.AutoField(primary_key=True)
    #创建一个自增的列(主键)如果不写:默认是也有自增列,该列的字段名:id
    caption = models.CharField(max_length=32)
    ctime = models.DateTimeField(auto_now_add=True,null=True)
    #auto_now_add=True 创建数据的时候,该列不用加,自动生成当前时间
    uptime = models.DateTimeField(auto_now=True, null=True)
    #auto_now 更新数据的时候该列自动生成更改的当前时间
    #但是下面这种更改数据,auto_now该列还是不会生效

#UserInfo(用户表)
class UserInfo(models.Model): #默认字段字段ID 且是主键
    username =models.CharField(max_length=32,blank=True,verbose_name='用户名')
        # 用户名列,字符串类型,指定长度32字符
        #(如果是数字类型models.IntergerFiled无需指定长度,否则报错)
    password = models.CharField(max_length=60,editable=False)
    # 密码名列,字符串类型,指定长度64字符
    email = models.CharField(max_length=60,help_text='邮箱')
    test = models.EmailField(max_length=19,null=True)
    #只支持邮箱格式(django的admin有效)
    #test = models.URLField(max_length=19, null=True)
    #只支持URL格式(django的admin有效)
    #test = models.GenericIPAddressField(max_length=19, null=True)
    #只支持IPV4和IPV6格式
    #gender = models.CharField(max_length=60,null=True)
    user_type_choices = (#变量=元组嵌套元组,是存放在内存里面的
    (1,'超级用户'),
    (2,'普通用户'),
    (3,'普普通通用户'),
     )
    user_type_id = models.IntegerField(choices=user_type_choices,default=1)
    #该字段引用了上面的嵌套元组   IntegerField:数字类型,默认值都是1超级用户

    user_group = models.ForeignKey("UserGroup",to_field='uid',default=1,on_delete=models.CASCADE)
        #该字段UserGroup表的主键uid进行关联   to_field='uid'不写默认就是关联UserGroup表的主键 
        #只要是外键的字段,我们数据库生产表的时候,字段名字会自动变 user_group_id
        #user_group_id  该字段作用:查询UserInfo表的该字段的值
        #user_group  该字段作用:UserInfo表每行数据外键所关联UserGroup的主)的数据可被查询

5.model表创建进入数据库

我们这里写入django的自带的sqlite3数据库即可,如mysql请进行settings下切换

#Terminal 终端操作(cd project 进入该django目录)
python manage.py makemigrations    #创建表结构
python manage.py migrate           #表写入进入数据库

#查看sqlite3数据库(如没有sqlite3可视化服务端可进行安装pip install sqlite*)

实战之Django之Model建表流程_第4张图片

 

实战之Django之Model建表流程_第5张图片

实战之Django之Model建表流程_第6张图片

创建完毕

目录篇:Django之model操作ORM目录篇 点击跳转
主篇:Django之Model操作建表流程【ORM篇二】点击跳转​​​​​​​

你可能感兴趣的:(Django,Django之model实战篇,Django实战篇【总】)