Estoy trabajando en el Django tutorials, y ahora estoy creando una encuesta.Modelo Django Encuesta
El código siguiente funciona bien hasta que quiero crear opciones, donde por alguna razón, siempre sale este mensaje de error:
line 22, in __unicode__
return self.question
AttributeError: 'Choice' object has no attribute 'question'
¿Qué estoy haciendo mal?
Aquí está mi código:
import datetime
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __unicode__(self):
return self.question
def was_published_today(self):
return self.pub_date.date() == datetime.date.today()
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
def __unicode__(self):
return self.question # this is line 22
lo hice y ahora tengo estas respuestas: >>> Poll.objects.all() [] >>> Poll.objects.get (pk = 1) >>> p = Poll.objects.get (pk = 1) >>> p.choice_set.all() [, ] >>> p.choice_set.create (choice = 'No mucho', votos = 0) >>> no debería tener opciones al principio, porque no establecí ninguna opción. ¡Gracias por el enlace a la documentación! Lo comprobaré. –
MacPython
Cierto, supongo que sería una tontería tener algo como 'return self.poll.question' para la salida, intente' return self.choice' –
¡Gracias por las respuestas! No puedo decir con certeza si la opción return.self.choice es la solución porque, por alguna otra razón, main_page no se mostrará ahora. Así que tengo que resolver eso y cerrar esta pregunta por ahora. ¡Gracias de nuevo! Este es el mejor sitio que he encontrado hasta ahora. ¡De mucha ayuda! – MacPython