考虑火车票预订应用程序。有很多城市,车站和火车。
每个城市都有一个/多个车站。很明显,一个车站不能在一个以上的城市。每个车站接收一个/多个列车。每列火车都会到达一个或多个火车站,最后在固定(公共)目的地停靠。
现在我想制作一个表格,用户可以选择他的城市,同一城市的车站,然后是火车(城市的车站接收),最后预订火车。
这是我到目前为止所做的事情。
class City(models.Model):
name = models.CharField(max_length=50, help_text="Your city name")
class Train(models.Model):
number = models.IntegerField(primary_key=True)
name = models.CharField(max_length=50, help_text="Train")
city = models.ForeignKey(City)
class Station(models.Model):
city = models.ForeignKey(City)
name = models.CharField(max_length=50, help_text="All available stations in your city")
class BookedTicket(models.Model):
city = models.ForeignKey(City)
station = models.ForeignKey(Station)
train = models.ForeignKey(Train)
请建议如何正确建立关系,因为我无法为所选城市显示正确的车站,同样,也可以为选定的城市和车站进行培训。