#以下是示例一對一,多對多的表關(guān)系
class Department(models.Model):
#學(xué)院表,字段有id和name
d_id = models.AutoField(primary_key=True)
d_name = models.CharField(max_length=12)
def __str__(self):
return 'd_id=%s ,\n d_name=%s'%(self.d_id,self.d_name)
class Students(models.Model):
#學(xué)生表,字段有id和name 還有關(guān)聯(lián)的外鍵表學(xué)院表
s_id = models.AutoField(primary_key=True)
s_name = models.CharField(max_length=10)
department = models.ForeignKey('Department',on_delete=models.CASCADE)# on_delete 代表級聯(lián)刪除 Django2.0版本必須寫
#外鍵關(guān)聯(lián) 一對多
class Stu_detail(models.Model):
#一對一表,與學(xué)生表形成一對一關(guān)系 與學(xué)生id形成一對一關(guān)系
s_id = models.OneToOneField('Students',on_delete=models.CASCADE)
age = models.IntegerField()
gender = models.BooleanField(default=1)
city = models.CharField(max_length=12)
class Course(models.Model):
#多對多,此為課程表與學(xué)生表形成多對多關(guān)系
c_id = models.AutoField(primary_key=True)
c_name = models.CharField(max_length=14)
student = models.ManyToManyField('Students')
```注:建立完成模型,要進(jìn)行數(shù)據(jù)庫的映射操作
python manage.py makemigrations
python manage.py migrate
7.一對一、多對多表關(guān)系實(shí)例
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。