問題:一羣人可以使用不同類型的樂器,但相同類型的樂器無法區分。例如,一個團隊可以使用3個錘子和4個軸,但我們不需要區分各個軸或錘子。 UPD:有一天,我們可以使用另一種我們現在無法想象的樂器類型。如何在Django模型中實現類似字典的字段?
在這種情況下如何設計一個Django模型?
我的想法:
class Person(models.Model):
name = models.CharField()
class Group(models.Model):
title = models.CharField()
members = models.ForeignKey(Person)
equip = ???
我發現this question on StackExchange和code snippet for a Django Dictionary model,但我仍然不知道該選擇什麼樣的方法。 更多的還有django-jsonfield和django-picklefield適合字典。
另外,我真的需要一本字典嗎?
首先你需要決定這是否是正確的做法。正常化您的數據庫可能是一個更好的主意 – e4c5
我不確定我瞭解您的意見。如果我確實區分各個軸,我可以規範DB。但我沒有,當我要求某人填寫報告時,他報告「我們使用了2軸和3把錘子」,這正是我想要存儲的信息。 //我看到的另一種方法是使我們的可用儀器類型保持不變。但有一天我們可以使用另一種我們現在無法想到的工具。 –
所以你真正需要的是一個類似'tool | job | number_used'的表格。 – e4c5