Я новичок в Django, а также Python.Получение 0 при использовании json.decode
Сначала я генерирую 50 случайных чисел и сохраняю их в списке, а затем в текстовом поле в модели User.
def generate(request, user_id):
easy = [] * 55
cnt = 0
while cnt < 50:
random_id = random.randint(1, 200)
if random_id not in easy:
easy.append(random_id)
cnt += 1
current_user = User.objects.get(pk=user_id)
current_user.question_array = json.dumps(easy)
return render(request, 'comp/question.html', {'easy': easy[0], 'question_id': 1,'user_id':user_id})
Но когда я пытаюсь получить значение из поля я получаю только 0.
Когда я пытаюсь использовать его в качестве списка он показывает ошибку «ИНТ объект не может быть индекс».
Это код для его получения:
def next(request,user_id, question_id):
current_user = User.objects.get(pk=user_id)
jsonDec = json.decoder.JSONDecoder()
easy = jsonDec.decode(current_user.question_array)
return render(request, 'comp/question.html',
{'easy': easy, 'question_id': int(question_id) + 1,'user_id':user_id})
Я использовал ответ на вопрос this дается mindthief для хранения списка в таблице.
Edit:
Моя главная проблема заключается в том, что список не получает хранится в базе данных. Любые идеи почему?
Я мало знаю о базе данных. Просто начал учиться на youtube из учебников django thenewboston. Так что не знаю ничего о sqlite3 или PostgresSQL. Спасибо, что random.sample действительно помог мне уменьшить код! – Sniper