The problem: a group of several people can use instruments of different types, but the instruments of the same type are not distinguishable. For instance, a group could use 3 hammers and 4 axes, but we don't need to distinguish individual axes or hammers. UPD: One day we could use another instrument type we can't think of now.
How to design a Django model in this case?
class Person(models.Model): name = models.CharField() class Group(models.Model): title = models.CharField() members = models.ForeignKey(Person) equip = ???
I've found this question on StackExchange and a code snippet for a Django Dictionary model, but I am still not sure what approach to choose. Even more, there are django-jsonfield and django-picklefield suitable for dictionaries.
Also, do I really need a dictionary here?
You have persons, that are related to groups. You assign group of persons to specific Job and track equipment by job, equipment type and its count.
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()