一.创建表

Django自带数据库ORM是基于SQLite,如果使用sqlite则不需要做配置修改,如果需要基于mysql连接则需要做相关配置:

1.在安装好的mysql中创建数据库,注意字符集选择utf8以便支持汉字(ORM不支持创建数据库,只能创建表)

2.在创建的Django项目同名文件夹中 setting.py 配置对于mysql数据库的连接:

 1 # 1.将默认的设置注释掉:
 2 # DATABASES = {
 3 #     'default': {
 4 #         'ENGINE': 'django.db.backends.sqlite3',
 5 #         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
 6 #     }
 7 # }
 8 
 9 # 2.设置对于mysql的连接:
10 DATABASES = {
11     'default': {
12         'ENGINE': 'django.db.backends.mysql',  
13         'NAME':'new',    #数据库名称
14         'USER': 'root',  #用户名
15         'PASSWORD': 'pwd',   #密码
16         'HOST': 'localhost',      #连接地址,可以不填
17         'PORT': 3306,    #端口
18     }
19 }    

3.在同层目录下的__init__.py文件导入对应模块:

 import pymysql 

 pymysql.install_as_MySQLdb() 

此时基本配置已经完成,接下来进入处理业务代码的app01文件夹下的models.py中进行对ORM的建表操作

 1 from django.db import models #导入django ORM对应模块
 2 
 3 # Create your models here.
 4 class Class1(models.Model):  #继承models模块定制类,即创建表,类名为表明
 5     cid = models.AutoField(primary_key=True)    #创建主键,AutoField为自增(主键可以不写,不写时默认生成一行名称为ID的主键列)
 6     cname = models.CharField(max_length=32)     #创建char类型字符串,最大长度32
 7     
 8 class Teacher(models.Model):
 9     tid = models.AutoField(primary_key=True)
10     tname = models.CharField(max_length=32)
11 
12 class Student(models.Model):
13     sid = models.AutoField(primary_key=True) 
14     sname = models.CharField(max_length=32)
15     Class = models.ForeignKey(Class1)  #创建外键,括号里面填写外键关系的表名 这个类在生成时,Class列会显示为Class_id即自写的列名加_id 
16 
17 class Guanxi(models.Model):
18     teacher = models.ForeignKey(Teacher)
19     Class = models.ForeignKey(Class1)
基于ORM类形式创建表

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-16
  • 2022-12-23
  • 2022-12-23
  • 2021-07-31
猜你喜欢
  • 2021-10-13
  • 2021-09-29
  • 2021-12-03
相关资源
相似解决方案