问题:一群人可以使用不同类型的乐器,但相同类型的乐器无法区分。例如,一组可以使用3个锤子和4个轴,但我们不需要区分单个轴或锤子。 UPD:有一天,我们可以使用另一种我们现在无法想到的乐器类型。
在这种情况下如何设计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 适合词典。
另外,我真的需要一本字典吗?
答案 0 :(得分:2)
你有与团体有关的人。您可以按工作,设备类型和计数将一组人员分配到特定的工作和跟踪设备。
class Group(models.Model):
title = models.CharField()
class Person(models.Model):
name = models.CharField()
group = models.ForeignKey(Group)
class Job(models.Model)
name = models.CharField()
group = models.ForeignKey(Group)
class EquipmentUsage(models.Model)
job = models.ForeignKey(Job)
equip_name = models.CharField()
count = models.IntegerField()