2015-08-20 106 views
0

我想在我的數據庫中存儲多個車站和多列火車。我打算將每個車站作爲一個模型,將每個車站作爲一個模型。Django火車路線模型設計

但我想了解我們應該如何使用車站模型以動態方式存儲每條火車路線。

例如,我們有站A,B,C,d,E

而且列車T1線路是ACBDE 而列車T2路線是ABE

所以我想存儲在這些火車路線每列火車模型。有人可以幫助我嗎?

謝謝

+0

有點難說沒有附加信息,但它聽起來像你需要另一個表稱爲路線。 – e4c5

回答

0

這樣的事情應該從數據模型的角度來看。

class Station(models.Model): 
    pass 

class Route(models.Model): 
    class Meta: 
     # Specify that the train and index are unique together to prevent 
     # any duplicate stations at the same index value at the db level. 
     # You'll probably want to validate this in the application logic as well. 
     unique_together = ('station', 'index') 
    station = models.ForeignKey('train.Station') 
    train = models.ForeignKey('train.Train') 
    index = models.IntegerField() 

class Train(models.Model): 
    stations = models.ManyToManyField('train.Station', through=Route) 
0

使用你的方法,你可以將站點看作全部連接。對於每個站點,您都可以有一個許多領域,允許您「連接」站點。 然後,您可以使用三種模式:

  • 火車
  • 路線

站連接到工作站。路線有起點和終點。火車與路線有關(因爲一列火車可以在多條路線上運行,或者一條路線可以運輸多列火車)。 您也可以通過編程計算(圖形)在開始和目標之間需要乘坐多少個車站。

+0

實際上每列火車都有固定的路線,有停靠站,起步站和終點站。我們可以認爲它是一條本地火車在同一條路線上來回走動,例如在行駛時間少於1-2小時的城市中的地鐵列車 – bindaas