Django与体育课应用程序设计

2024-10-01 02:35:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在django设计web应用程序,以便预订体育课。我在设计它时遇到了一些问题,因为我不知道这些问题通常是如何解决的。

所以一周一次的体育课,比如周一19:00,只有20人可以参加。预约应该在一周前进行,所以如果课程是在5月28日19:00举行的,那么可以从5月21日00:00开始预订。

一些问题:
1一个类应该是模型中的一个对象(一个记录),对吗?但是应该是一个类(所以每周一发生的课是一个记录)还是发生在特定日期的课(所以一周中的一节课是一个记录,三周之后,我们有这个课的3个记录)?
2如何创建这些记录?我是否应该自动复制今天的课程,将日期改为+1周? 如何解决这些问题?在


Tags: 对象django模型web应用程序记录课程一节课
1条回答
网友
1楼 · 发布于 2024-10-01 02:35:29

好吧,你可以创建一个模型,它将代表一个体育课的当前时间表(时间表),另一个模型将代表某一天的特定记录。在

例如这样的smth:

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

因此,您可以指定计划和类类型,如果它们将来会更改。可以创建命令(请参见管理.pydjango文档中的命令),它将为下周创建一个ClassRecord,并在cron上设置此命令(例如celery),因此它将每周运行一次,并在需要时创建新的记录。在

相关问题 更多 >