django连接mysql数据库的一对一,一对多,多对多关系模型的创建

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


个人小结,定有不足,欢迎指点。
谢谢~

猜你喜欢

转载自blog.csdn.net/qq_43317529/article/details/83096261
今日推荐