Y19
介绍如何创建各种关系的数据模型,具体实现各种功能
先配置settings.py中连接mysql数据库:(Y12有介绍)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'my_web',
'USER': 'root',
'PASSWORD': 'ysh7776...',
'HOST':'127.0.0.1',
'PORT':'3306', #端口号
}
}
创建模型:
一、一对一关系模型创建,可直接创建两个一对一模型,通过在views.py中导入模型,直接使用即可。
二、一对多关系模型创建,如下:
from django.db import models
# 账号信息表格
class Accounts(models.Model):
username = models.CharField(primary_key=True, max_length=20)
password = models.CharField(max_length=20)
# 创建人物信息表格
class Person(models.Model):
nickname = models.CharField(max_length=30)
sex = models.CharField(max_length=10)
age = models.IntegerField()
photo = models.CharField(max_length=100)
# 将Person表格中account字段和Accounts模块进行关联, 即account字段为Person模块的外键(一对多关系)
account = models.ForeignKey(Accounts,on_delete=models.CASCADE)
三、多对多关系模型创建,如下:
from django.db import models
# Create your models here.
# 创建老师表格
class Teacher(models.Model):
card_id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=30)
# 创建科目表格
class Major(models.Model):
major_id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=30)
t_id = models.ManyToManyField(Teacher)
# 创建学生表格
class Student(models.Model):
stu_id = models.IntegerField(primary_key=True)
name = models.CharField(max_length=30)
classroom = models.CharField(max_length=100)
major_id = models.ManyToManyField(Major)
具体源代码连接:
链接:https://pan.baidu.com/s/1v74l_n_1F5WoRxOb7YlRjg
提取码:ev9p
个人小结,定有不足,欢迎指点。
谢谢~