es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obteniendo el campo ‘None’. Se esperaba un número pero se recibió ‘update’ al utilizar UpdateView en Django.

Estoy utilizando UpdateView para mi página de actualización, pero obtengo este error:
El campo ‘None’ esperaba un número pero recibió ‘update’.

mi urls.py se ve así:

path('post/<pk>/update/', PostUpdateView.as_view(), name='post_update'),

Todo funciona bien si cambio mi URL de actualización a cualquier cosa que no sea “post”. Por ejemplo, esto funciona bien:

path('abcxyz/<pk>/update/', PostUpdateView.as_view(), name='post_update'),

Me gustaría utilizar la palabra “post” en la URL, porque también la utilizo en las otras URLs y funcionan perfectamente (excepto la vista de eliminación, que me da el mismo error). ¿Hay alguna manera de solucionar este error sin cambiar la URL?

Nota: Ha funcionado antes, pero se rompió en algún momento cuando intentaba usar django-PWA. Aunque no estoy seguro si esto está relacionado.

¡Gracias por tu ayuda!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema parece estar relacionado con el uso de la palabra “post” en la URL. “post” podría estar entrando en conflicto con alguna otra palabra clave o URL que está causando el error. Una solución podría ser especificar una expresión regular para el parámetro en la URL para que solo coincida con valores numéricos, como esto:

    path('post/<int:pk:num>/update/', PostUpdateView.as_view(), name='post_update'),
    

    Esto asegurará que solo se acepten números como valores para el parámetro , y no se aceptará ninguna otra palabra clave como “update”. Si esto no resuelve el problema, podría valer la pena revisar la documentación de django-PWA o buscar ayuda adicional en la comunidad o con el desarrollador de la biblioteca.

Comments are closed.