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

123
Vistas
Almacene dos tipos de valor en un solo campo de modelo de Django

Estoy aprendiendo django creando una aplicación de sondeo. Para empezar tengo tres modelos Usuario, Pregunta y Opciones.

 class User(....): .... Questions_voted = models.ManyToManyField(Question) ....

esto significa que un usuario puede votar por tantas preguntas como quiera. El siguiente es The Question Model, que es simple y solo almacena el texto de la pregunta y la cantidad de personas que votaron por ella.

 class Question(models.Model): question_text = models.CharField(max_length=500) vote_count = models.IntegerField(...)

el siguiente es Choices que tiene un texto de elección y se refiere a la pregunta a la que pertenece.

 class Choice(models.Models): choice_text = models.CharField(models.Model) question = models.ForeignKey(Question,...)

Ahora quiero almacenar información sobre qué opción seleccionó un usuario para una pregunta. Está muy claro cuando lo piensas, pero estoy atascado debido a la falta de conocimiento de los tipos de campos en los modelos Django.

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

0

Te recomiendo que cambies el esquema del modelo. Aquí está el modelo sugerido:

Modelo de ER sugerido

Agregué el modelo UserVote que contiene información sobre la Question y Choice seleccionada por User .

 from django.conf import settings class UserVote(models.Model): question = models.ForeignKey('Question') choice = models.ForeignKey('Choice') user = models.ForeignKey(settings.AUTH_USER_MODEL)

EDITAR: Cómo leer el esquema sugerido: User puede tener muchos UserVote (hay una relación Many-To-One : en Django simplemente agrega ForeignKey a UserVote ). Cada UserVote debe tener una sola Question y Choice . El resto es tu antiguo esquema. Por cierto, utilicé la notación de pie de cuervo ( https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model#Crow.27s_foot_notation ).

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