django連線mysql資料庫的一對一,一對多,多對多關係模型的建立
阿新 • • 發佈:2018-11-09
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
個人小結,定有不足,歡迎指點。
謝謝~