2016-11-14 18 views
0

這是一個非常普遍的問題,我似乎沒有找到答案。假設我有一個叫做Room的模型,指的是一個酒店房間。我希望有一個時間序列顯示我過去,現在和未來的房間職業。在Django模型中隨時間記錄數據

我的一個「想法」是擁有一個類似於{'date':room.guest}的字典,但我沒有看到如何爲Django模型定義字典。這種方法是否可以在Django中實現?我有什麼樣的選擇來實現這個目標?

目前我的房間模型是非常簡單的,看起來像這樣:

class Room(models.Model): 

    number = models.IntegerField() 

    room_type = models.ForeignKey('RoomType') 

    def __str__(self): 
     return "Room {}".format(self.number) 

房間本身就是在Guest模式外鍵..

回答

0

Django模型只是包裝(包裝聰明,但仍只有包裝)以上數據庫表。這裏最明顯的解決方案是思考如何在關係數據庫級設計此功能,然後將其編寫爲Django模型。 IOW:你想要一個存儲「職業」的分表:

class Occupation(models.Model): 
    room = models.ForeignKey(Room) 
    guest = models.ForeignKey(Guest) 
    date = models.DateField(...) 

# etc 
+0

謝謝你的回覆。採用這種方法我似乎無法按照我想要的方式顯示數據。我有一個從網址獲得月份和年份的視圖,然後必須迭代房間和日期並顯示職業數據。假設我過濾月份和年份的職業,並將其傳遞給模板,並且還將日期和房間列表傳遞給模板。然後我使用循環來填充表格。我怎樣才能使模板獲得職業.is_occupied佔領.date__day = day和occup.room = room? –

+0

不要將您的邏輯放在模板中 - 它屬於模型和/或視圖。 –

+0

你能給我一些關於如何實現這一目標的建議嗎?據我所知,我沒有在模板中加入任何邏輯......我只是希望它顯示某些變量的值......這就是模板所做的一切,對吧? –