2010-10-05 20 views
8

Próbuję zrobić samouczek django z witryny django i mam problem: muszę dodać moje metody __unicode__ do moich klas modeli, ale zawsze próbuję powrócić obiektów tego modelu pojawia się następujący błąd:Błąd django: obiekt 'unicode' nie jest wywoływalny

in __unicode__ 
    return self.question() 
TypeError: 'unicode' object is not callable 

im całkiem nowy, python i bardzo nowy django i cant naprawdę zobaczyć, co ive brakowało tutaj, jeśli ktoś może skierować go na identyfikator być bardzo wdzięczny. Trochę kodu:

Moja models.py:

# The code is straightforward. Each model is represented by a class that subclasses django.db.models.Model. Each model has a number of 
# class variables, each of which represents a database field in the model. 

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 


    class Choice(models.Model): 
     poll = models.ForeignKey(Poll) 
     choice = models.CharField(max_length=200) 
     votes = models.IntegerField() 

     def __unicode__(self): 
      return self.choice() 

aw interaktywnej powłoki:

from pysite.polls.models import Poll, Choice 
Poll.objects.all() 

Odpowiedz

29

self.choice jest ciąg znaków, ale kod próbuje nazwać niczym funkcjonować. Po prostu usuń ().

+0

miejsce na, dzięki za pomoc. – richzilla

+0

dokładnie to, co musiałem wiedzieć w innym przypadku. Dziękuję Ci. – ihightower

Powiązane problemy