Sto lavorando attraverso lo Django tutorials e ora sto creando un sondaggio.Modello Django Poll
Il codice sotto funziona bene fino a quando voglio creare scelte, in cui per qualche motivo ho sempre ottenere questo messaggio di errore:
line 22, in __unicode__
return self.question
AttributeError: 'Choice' object has no attribute 'question'
Che cosa sto facendo di sbagliato?
Ecco il mio codice:
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
ho fatto e ora ho queste risposte: >>> Poll.objects.all() [] >>> Poll.objects.get (pk = 1) >>> p = Poll.objects.get (pk = 1) >>> p.choice_set.all() [, ] >>> p.choice_set.create (scelta = 'Non molto', voti = 0) >>> non dovrebbe avere scelte all'inizio, perché non ho impostato alcuna scelta. Grazie per il link alla documentazione! Lo controllerò. –
MacPython
Vero, penso che sarebbe sciocco avere qualcosa come 'return self.poll.question' per l'output, prova' return self.choice' –
Grazie per le risposte! Non posso dire con certezza se il return.self.choice è la soluzione perché per qualche altro motivo la pagina principale non verrà visualizzata ora. Quindi devo risolverlo e chiudere questa domanda per ora. Grazie ancora! Questo è il miglior sito che ho incontrato finora. Davvero utile! – MacPython