Данные об уровне игры для каждого пользователя в базе данных
Я создаю игру на Django, в которой есть около 500 уровней. Как мне хранить данные об уровне игры для каждого пользователя в базе данных (данные могут быть звездами для каждого уровня). Игра больше похожа на candy crush, где каждый пользователь зарабатывает звезды за каждый уровень.
Подходит ли для этого JSON? Должен ли я использовать отдельную таблицу для каждого уровня? Или я должен использовать одну таблицу для всех уровней с level_id как первичный ключ и user_id как внешний ключ?
Мое предложение: Если вы просто хотите хранить текущий уровень каждого пользователя - добавьте модель, которая будет сохранять больше деталей для каждого пользователя и свяжите ее с OneToOneField.
Вы можете увидеть хороший пример здесь:
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
level = models.IntegerField(default=0, blank=True)