относительно новый для Python и очень новый для Django, так что вам нужна помощь в этом.
Я пытаюсь создать систему ранжирования пользователей, аналогичную той, которую вы найдете в ролевых играх (то есть пользователь получает уровни, набирая очки опыта)
Пока в моем проекте есть приложение с этой простой моделью в своем models.py. Я уже выполнил миграцию, и эта пустая таблица находится в моей базе данных:
class UserLevel(models.Model):
level_rank = models.IntegerField()
xp_threshold = models.IntegerField()
Теперь я хочу добавить уровни от 1 до 100 (целые числа) к level_rank. Так что было бы 100 экземпляров. Уровень 100 будет максимальным уровнем.
Кроме того, xp_threshold будет увеличиваться на 50% на каждом уровне.
Так, например, уровень 1 будет иметь xp_threshold равный 100, уровень 2 будет иметь 150, уровень 3 будет иметь 225 и т. Д.
Меня не волнует, как округляются числа.
Я использую Django v2.0.13
Пока у меня есть это:
class UserLevel(models.Model):
level_rank = models.IntegerField()
xp_threshold = models.IntegerField()
levels_range = range(1,101)
for level in levels_range:
UserLevel.objects.create(level_rank=level)
Но это дает мне NameError о том, что UserLevel не определен.
Я знаю, что мог бы вручную добавить эти данные в админку Django, но на 100 уровней это займет много времени, и я знаю, что есть лучший способ сделать это.
Есть идеи?
Спасибо!