1. 程式人生 > >django連線mysql資料庫的一對一,一對多,多對多關係模型的建立

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


個人小結,定有不足,歡迎指點。
謝謝~