您好,登錄后才能下訂單哦!
我現(xiàn)在有的表結(jié)構(gòu)是班級表,課程表,
班級表的主要結(jié)構(gòu)如下
課程名稱 | 學(xué) 期 | 校 區(qū) | 任課老師 s |
---|---|---|---|
class_title | time | campuses | teachers |
表結(jié)構(gòu)中:
class_title,time,campusees必須設(shè)置聯(lián)合唯一,
所以在django中的modes.py 文件中設(shè)置如下
from django.db import models
class ClassList(models.Model):
"""
班級表
"""
course = models.CharField("課程名稱", max_length=64, choices=course_choices)
semester = models.IntegerField("學(xué)期")
campuses = models.ForeignKey('Campuses', verbose_name="校區(qū)")
teachers = models.ManyToManyField('UserProfile', verbose_name="老師")
class Meta:
unique_together = ("course", "semester", 'campuses')
課程表的主要結(jié)構(gòu)如下
班 級 | 授課內(nèi)容 | 節(jié) 次 | 授課時間 | 班主任 |
---|---|---|---|---|
re_class | content | day_num | date | b_teacher |
設(shè)置class與date_num為聯(lián)合唯一,保證一個班級一天只能上一節(jié)課
class CourseRecord(models.Model):
"""課程記錄表"""
day_num = models.IntegerField("節(jié)次", help_text="此處填寫第幾節(jié)課或第幾天課程...,必須為數(shù)字")
date = models.DateField(auto_now_add=True, verbose_name="上課日期")
course_title = models.CharField('本節(jié)課程標(biāo)題', max_length=64, blank=True, null=True)
re_class = models.ForeignKey('ClassList', verbose_name="班級")
teacher = models.ForeignKey('UserProfile', verbose_name="班主任")
class Meta:
unique_together = ('re_class', 'day_num')
如何保證同一個老師不會被’分身‘??
如:
python-1期-海南 3-31 第一節(jié) penny老師
python-2期-上海 3-31 第一節(jié) penny老師
方法一重新建表結(jié)構(gòu):
班 級 | 授課內(nèi)容 | 節(jié) 次 | 授課時間 | 班主任 | 授課教師 |
---|---|---|---|---|---|
re_class | content | day_num | date | b_teacher | teacher |
將節(jié)次,授課時間,授課老師設(shè)為聯(lián)合唯一
而已經(jīng)設(shè)置class與date_num為聯(lián)合唯一
這可就出現(xiàn)了倆個聯(lián)合唯一的問題了???
class Meta:
unique_together = [('re_class', 'day_num'), ('date', 'day_num', 'teacher')]
]
但是:
雖然可以限制,但是會出現(xiàn)飄頁面錯誤的問題?。。?!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。