Поле 'id' ожидало число, но получило '8c744bf0-1f7e-4ed9-a2b5-9a8155adb4b5'
У меня небольшая проблема с моим "id". Я не знаю, как сделать, чтобы получить правильный id.Я пытался сделать это многими способами, но все еще не имею идеи.
МОДЕЛИ
ПРОСМОТРОВ
def ProjektView(request, pk ):
profil = Profil.objects.get(user=request.user)
projekt = profil.projekt_set.all()
srodek = Srodek.objects.filter(id=pk)
if request.method == "POST":
form = OptionsForm(request.POST or None, request.FILES or None)
if form.is_valid():
form.save()
template_name = 'viewProjekt.html'
context = {
'projekt':projekt,
'srodek':srodek,
}
return render(request, template_name, context)
Если я попробую srodek = Srodek.objects.all()
это работает, но не работает нормально, потому что каждый проект имеет один и тот же Srodek
Демонстрационная фотография
Вам нужно изменить имя переменной id, id - это встроенная функция в python, которая возвращает идентификатор объекта. Я думаю, что это причина вашей ошибки.
Ваша вторая ошибка заключается в том, что он ожидает шестнадцатеричную строку, а вы не предоставляете ее в правильном формате. Вам нужно преобразовать строку, полученную от from, в шестнадцатеричный формат.
Я исправил это "srodek = Srodek.objects.filter(projekt_id=pk)", но у меня возникла следующая проблема... Когда я использую опцию update, я получаю следующую ошибку "[''"3" не является действительным UUID.'']"
Здесь полная ошибка
Я не думаю, что проблема в uuid.uuid4. Я пробовал uuid.uuid4().hex. Если я использую uuid.uuid4, то все в порядке. http://127.0.0.1:8000/projekty/view_projekt/bd7ce422-1951-4225-8099-37e15e9ac2cf/
. Это работает правильно, но когда я пытаюсь обновить, у меня возникает проблема с uuid