我想在 django 中设计 Web 应用程序来预订体育课。我在设计它时遇到了一些问题,因为我不知道这些问题通常是如何解决的。
所以每周有一次体育课,周一晚上 19 点,只有 20 人可以参加。应该可以在一周前预订,所以如果上课时间是 5 月 28 日 19:00,那么从 5 月 21 日 00:00 开始就可以预订。
现在有一些问题:
1. 一个类应该是模型中的一个对象(一个记录),对吗?但是应该是一种课(所以每周一上课是一个记录)还是在特定日期上课(所以一周一节课是一个记录,3周后,我们有这个课的3个记录) ?
2. 如何创建这些记录?我应该自动复制今天的课程,将日期更改为 +1 周吗?如何解决这些问题?
问问题
645 次
1 回答
1
好吧,您可以创建一个模型来代表体育课的当前时间表(时间表),以及另一个模型来代表某一天的特定记录。
例如:
class ClassType(models.Model):
name = models.CharField(u"Class name", max_length = 120)
schedule_day = models.IntegerField(u"Day of week")
schedule_time = models.TimeField(u"Time")
max_attend = models.IntegerField(u"Maximum attendants")
class ClassRecord(models.Model):
type = models.ForeignKey(ClassType, verbose_name = "Class type")
date = models.DateTime("Scheduled date")
attendants = models.ManyToManyField(User) #don't forget to import it
因此,如果它们将来会发生变化,您可以指定时间表和课程类型。您可以创建一个命令(请参阅 django 文档中的 manage.py 命令),该命令将为下周创建一个 ClassRecord 并将此命令设置在 cron(或 celery 例如)上,因此它将每周运行一次并在需要时创建新记录.
于 2012-07-20T08:28:34.870 回答