Я пытаюсь написать браузерную игру с использованием Django, но я немного застрял в том, как сохранить настройки для игры. Например, игра основана на тиках, и я хочу сохранить текущий тик. Я решил, что мне нужна только одна игра на базу данных, чтобы избежать проблем со встроенной системой авторизации пользователей (например, я не хочу говорить, что имя пользователя X недоступно, поскольку оно уже используется в другой игре). Насколько я могу судить, мне все еще нужно хранить эту информацию в таблице базы данных, но я не уверен, как лучше всего это сделать. Кажется, у меня есть 2 варианта:
A) Используйте игру как обычную модель, на которую ссылаются другие таблицы (например, мой профиль пользователя), и просто игнорируйте возможность того, что может быть более 1 игры. Это будет означать, что технически возможно иметь 2 игровых ряда, но если бы они были, они очень легко сломались бы.
B) У меня есть модель, которая, как я всегда полагаю, имеет одну и только одну строку, в которой хранятся все данные конфигурации для игры. Эта модель содержит только статические методы, и ни одна из других моделей не имеет ссылок на нее. E.g.:
class Game(models.Model):
current_slot = models.PositiveIntegerField(default=0)
@staticmethod
def slots_per_day(self):
Genre.objects.get(id=1).current_slot
Ни один из этих вариантов не кажется мне "правильным", но может ли кто-нибудь сказать мне, если один лучше, чем другой? Или есть другой вариант, которого я еще не видел?