Пока кажется что можно все описать имея класс Карты (юнит либо заклинания) и Книги которая содержит в себе простой список карт. Проблема в том, что не все карты могут быть изначально открыты. То еть у одного игрока эти юниты уже развиты и доступны для сборки в отряд у другого еще нет. Также каждой карты может быть по три экземпляра, соответсвенно у одного игрока может быть в коллекции все три экземпляра этой карты а у другого не одного. Как поступать в этом случае? Создавать для каждого игрока отдельные экземпляры Книг и Карт или можно как-то оставить Книги и Карты как библиотеки, а для игрока создавать модель его конкретного набора? Не могу пока придумать как сохранить единственные экземпляры книг и карт и не плодить тысячи одинаковых инстансов, у которых будет отличаться только foreignkey на юзера и их доступное количество дляя конкретного игрока, тогда как все остальные свойства будут идентичны.
Пока модель условно такая:
class Hero (model:Model): eptitude = model.IntegerField () class Book (model.Model): hero = model.ManyToManyField (Hero) class Card (model.Model): attack = model.IntegerField () health = model.IntegerField () book = model.ForeignKey (Book)
И создан конкретный экземпляр книги с пятью конкретными картами со своими характеристиками аттаки и здоровья, для одного отдельного Hero. Если бы всех карт у игрока было всегда по одной, и все они были бы октрыты сразу, то можно было бы создать класс Collection который представлял бы собой еще один список карт надерганных игроком из разных книг.
class Collection (model.Model): cards = model.ManyToManyField (Card)