我想創建一個不喜歡的物品的數據庫,但根據物品的類別,它有不同的列,我想要顯示,當你所看到的是汽車。事實上,我希望欄目能夠根據類別進行動態分析,這樣我們就可以在未來輕鬆地爲汽車添加更多屬性,並且現在也可以顯示該欄目。我可以在django中創建動態列(和模型)嗎?
例如:
但是,當你上車或人進行篩選,其他行顯示了過濾。
我可以找到有關使用django模型的所有示例都沒有給出關於如何在乾淨,簡單的Web界面中完成此行爲的清晰畫面。
我想創建一個不喜歡的物品的數據庫,但根據物品的類別,它有不同的列,我想要顯示,當你所看到的是汽車。事實上,我希望欄目能夠根據類別進行動態分析,這樣我們就可以在未來輕鬆地爲汽車添加更多屬性,並且現在也可以顯示該欄目。我可以在django中創建動態列(和模型)嗎?
例如:
但是,當你上車或人進行篩選,其他行顯示了過濾。
我可以找到有關使用django模型的所有示例都沒有給出關於如何在乾淨,簡單的Web界面中完成此行爲的清晰畫面。
我可能會去描述一個「不喜歡標準」的典範:
class DislikeElement(models.Model):
item = models.ForeignKey(Item) # Item is the model corresponding to your first table
field_name = models.CharField() # e.g. "Model", "Year born"...
value = models.CharField() # e.g. "Mustang", "1960"...
您將有相當多的,你可以檢索哪些數據的靈活性。例如,要獲得給定物品的所有不喜歡的元素,你只需要做一些事情,如item.dislikeelements_set.all()
。
此解決方案的唯一問題是,您將在同一數據類型下存儲value
數字,字符串,日期...。但也許這對你來說不是問題。
這將是一個問題。如果數據庫中有200輛汽車,我需要能夠過濾汽車,然後根據製造年份對它們進行分類。 –
@JustinJansen我看到了兩種解決方案:您可以在上面的模型中添加幾個字段來描述這個值,並根據您的目的使用其中的任何一個。或者你可以創建不同的模型:DislikeCharElement DislikeIntElement Django沒有提供任何動態創建數據庫表的方法,你可以自己實現它。 – mimo
所以,如果我走了這條路線,但重要的是數字是數字(如年),如果某些字段是字符串,但其他字母是數字,它會是什麼樣子 –
你問的是如何建模你的數據庫,或者如何顯示給用戶? – Chris
我開始問我如何在django中適當地對這類數據建模。一旦我明白了這一點,我會多花點時間看看我能否找到正確的方式來展示它,以便我知道在這方面要問什麼具體問題。 –
我還需要在數據庫中創建此數據的視圖,以便在後端使用另一個工具,如果這會影響我應如何對數據進行建模。 –