Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

219
Views
¿Hay alguna manera de tener un campo similar a un diccionario en el modelo Django?

Supongamos que estoy creando una aplicación de clasificación de películas. Un usuario que haya iniciado sesión debería poder calificar la película con estrellas (en el rango de 1 a 5).

Quiero acceder rápidamente a todos los nombres de los calificadores junto con su calificación. Si un usuario califica la película nuevamente, la calificación debe actualizarse. Al mismo tiempo, si un usuario decide retirar su calificación, es decir, proporcionar una calificación cero, me gustaría eliminar la entrada del campo.

Creo que el diccionario sería la mejor opción para lograr lo mismo. Sin embargo, estoy abierto a sugerencias.

También quiero que un usuario vea todas las películas que ha calificado junto con la calificación.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Debe crear un campo ForeignKey entre el modelo de usuario y el modelo de votación. Permitir un solo voto por usuario; por película, es posible que desee crear una restricción de clave única, en el modelo de votación, sobre el ID de usuario y el ID de película.

El voto debe contener una relación con la película y una calificación. Si un usuario retira su voto, lo elimina de la base de datos.

El uso de un diccionario le generará problemas, ya que tendrá varias películas.

Para aumentar la velocidad y el rendimiento del conteo de votos, es posible que desee echar un vistazo al almacenamiento en caché y simplemente almacenar en caché el número de votos y actualizar el número cada vez que un usuario agrega o retira un voto en la película específica.

over 4 years ago · Santiago Trujillo Report

0

Puede usar: el método update_or_create() con django ORM. https://docs.djangoproject.com/en/1.10/ref/models/querysets/#update-or-create

over 4 years ago · Santiago Trujillo Report

0

Si la base de datos que está utilizando es Postgres, puede utilizar JSONField

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!