Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

212
Vistas
Cómo implementar una cola de aprobación de edición en Django

Estoy tratando de hacerlo para que un usuario pueda editar la información que se muestra almacenada en un objeto, pero esa edición no se muestra públicamente hasta que un administrador aprueba la edición. Estas ediciones se almacenan en una cola que un administrador puede revisar. Por ejemplo:

 class examplemodel(models.Model): text = models.CharField()

Este campo de caracteres se muestra en una plantilla en algún lugar donde un usuario puede hacer clic en un enlace, lo que permite que el texto se convierta en un formulario que contiene la misma información que, cuando se envía el formulario, envía la información no a la base de datos sino a una cola para ser aprobada en el Página de administrador. La única forma en que puedo pensar en hacer esto ahora mismo es crear un objeto editRequest que me permita hacer que el formulario cree un objeto diferente y luego tener alguna función de aprobación que actualice el objeto anterior si se aprueba. En cuyo caso, ¿cómo vincularía esto a la página de administración?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Sugeriría crear un nuevo modelo ApprovalPendingUsers con campos obligatorios y también agregar ForeignKey para el usuario en ese modelo. También puede agregar campos created_time y last_modified_time para ordenar. Cuando el usuario envíe los detalles del formulario de edición, almacene todo en su nuevo modelo con el usuario ForeignKey .

 #import User Model from apps.users.models import BaseUserModel class ApprovalPendingUsersModel (Models.Model): created_by = models.ForeignKey(BaseUserModel) # Other fields.

Cree una vista de lista para el administrador y devuelva todas las filas de su nuevo modelo para ver.

 class ApprovalPendingUsersListView(ListView): # template_name and context_object_name def get_queryset(self): return ApprovalPendingUsersModel.objects.all()

Cuando el administrador haga clic en el botón de aprobación, reemplace los detalles de BaseUserModel con ApprovalPendingUsersModel y elimine esa fila de ApprovalPendingUsersModel .

Use get_or_create para evitar la creación de muchas filas ApprovalPendingUsersModel cuando el usuario realiza más de una solicitud de actualización.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda