Je travaille à travers le Django tutorials, et maintenant je suis à la création d'un sondage.Modèle Django Poll
Le code ci-dessous fonctionne bien jusqu'à ce que je veux créer des choix, où pour une raison quelconque, je reçois toujours ce message d'erreur:
line 22, in __unicode__
return self.question
AttributeError: 'Choice' object has no attribute 'question'
Qu'est-ce que je fais mal?
Voici mon code:
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
Je l'ai fait et maintenant je reçois ces réponses: >>> Poll.objects.all() [] >>> Poll.objects.get (pk = 1) >>> p = Poll.objects.get (pk = 1) >>> p.choice_set.all() [, ] >>> p.choice_set.create (choice = 'Pas beaucoup', votes = 0) >>> il ne devrait pas avoir de choix au début, parce que je n'ai pas fait de choix. Merci pour le lien de la documentation! Je vais vérifier. –
MacPython
Vraiment, je suppose qu'il serait stupide d'avoir quelque chose comme 'return self.poll.question' pour la sortie, essayez' return self.choice' –
Merci pour les réponses! Je ne peux pas dire avec certitude si le retour.self.choice est la solution parce que pour une autre raison, la page principale n'apparaîtra pas maintenant. Donc je dois résoudre cela et fermer cette question pour le moment. Merci encore! C'est le meilleur site que j'ai rencontré jusqu'à présent. Très utile! – MacPython