我正在开发一个售卖活动门票的网站,以下是我的设计:
以下是(为了发布而简化的)模型:
![数据库草图](https://istack.dev59.com/U4p4V.webp)
class Event(models.Model):
name = models.CharField(max_lenght=20)
class Date(models.Model):
event_start = models.DateTimeField()
event = models.ForeignKey(Event)
class Ticket_Class(models.Model):
name = models.CharField(max_lenght=20)
price = models.IntegerField()
event = models.ForeignKey(Event)
- 我应该如何添加一个Ticket模型?因为一个Ticket是针对特定日期的Event,所以我需要将一个ticket与Event和Date之间的关系相关联。
- Ticket_Class还应该有一个“max”字段,其中存储了在特定日期销售该特定Ticket_Class的最大票数。例如:事件“Metallica”有Ticket_Class“Field”和Ticket_Class“VIP”,分别在三个不同的日期上。我如何访问特定日期Ticket_Class剩余票数?也许可以通过计算在Ticket表中与该Event和该日期相对应的Tickets数量来实现。
希望我表达清楚了,英语不是我的母语。随时提出任何疑问。