He estado atascado en este error durante algún tiempo y no puedo entender el problema o lo que significa.
Encontré algunas respuestas pero ninguna realmente resolvió mi problema.
Aquí hay una breve descripción de lo que hago:
En Javascript, llamo a esta función con un int como parámetro como:
function follow (user_id) { // retrieves post for current selection fetch(`/follow/${user_id}`, { method: 'PUT', body: JSON.stringify({ follow: true }) }) }Mi ruta de URL, desde url.py, es la siguiente:
path('follow/<int:user_id>', views.follow, name="follow")
finalmente, en views.py, esta función se llama:
def follow(request, user_id): user = User.objects.get(id = user_id) if request.method == "PUT": data = json.loads(request.body) if data.get("follow") is not None: followed = Followed( user_id = user.id, followed_by_id = request.user, ) followed.save() return HttpResponseRedirect(reverse("index")) else: return HttpResponseRedirect(reverse("index"))Probé algunos enfoques diferentes, como eliminar el .value, pero sigo recibiendo el siguiente error:
El campo 'id' esperaba un número pero obtuvo <SimpleLazyObject: <Usuario: nombre de usuario>>
Compruebo en el camino y la ID es un int todo el camino hasta que se pasa al modelo para guardarlo.
Estoy usando el modelo abstractUser.
Déjeme saber si se necesita más información.
Atentamente,