Django和健身课程设计应用程序

时间:2012-05-28 08:48:35

标签: python database django database-design web-applications

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

所以每周一次体育课,f.e。星期一19.00,只有20人可以参加。应在一周前预订,因此如果课程于5月28日19:00开课,则应于5月21日00:00之前预订。

现在有些问题:
1.一个类应该是模型中的一个对象(一个记录),对吧?但是它应该是一种类(每个星期一发生的类是一条记录)或在特定日期发生的类(因此一周中的一个类是一条记录,3周之后,我们有3个这类记录) ?
2.如何创建这些记录?我应该自动复制今天的课程,将日期更改为+1周吗? 如何解决这些问题?

1 个答案:

答案 0 :(得分:1)

好吧,你可以创建,f.e。一个模型,代表体育课的当前时间表(日程安排),另一个模型代表某一天的特定记录。

例如那样的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

因此,您可以指定日程表和类类型,如果它们将来会发生变化。您可以创建一个命令(请参阅django文档中的manage.py命令),该命令将在下周创建一个ClassRecord并在cron(或celery)上设置此命令,因此它将每周运行一次并在需要时创建新记录