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