2011-07-10 8 views
2

私はこのDjangoチュートリアルhttps://docs.djangoproject.com/en/dev/intro/tutorial01/を行っていましたが、was_ _todayは動作していません。御時間ありがとうございます。ここでDjangoチュートリアルパート1 'poll'オ​​ブジェクトに属性がありません 'was_published_today'

は、コマンドラインです:

Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on 
    win32 
    Type "help", "copyright", "credits" or "license" for more information. 
    (InteractiveConsole) 
    >>> from polls.models import Poll, Choice 
    >>> Poll.objects.all() 
    [<Poll: What's up?>] 
    >>> Poll.objects.get(pk=1) 
    <Poll: What's up?> 
    >>> p = Poll.objects.get(pk=1) 
    >>> p.was_published_today() 
    Traceback (most recent call last): 
     File "<console>", line 1, in <module> 
    AttributeError: 'Poll' object has no attribute 'was_published_today' 

はここmodels.py

# Create your models here. 
    from django.db import models 

    import datetime 

    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 

    >>> dir (p) 
    ['DoesNotExist', 'MultipleObjectsReturned', '__class__', '__delattr__', '__dict_ 
    _', '__doc__', '__eq__', '__format__', '__getattribute__', '__hash__', '__init__ 
    ', '__metaclass__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_e 
    x__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_ 
    _unicode__', '__weakref__', '_base_manager', '_collect_sub_objects', '_default_m 
    anager', '_deferred', '_get_FIELD_display', '_get_next_or_previous_by_FIELD', '_ 
    get_next_or_previous_in_order', '_get_pk_val', '_get_unique_checks', '_meta', '_ 
    perform_date_checks', '_perform_unique_checks', '_set_pk_val', '_state', 'choice 
    _set', 'clean', 'clean_fields', 'date_error_message', 'delete', 'full_clean', 'g 
    et_next_by_pub_date', 'get_previous_by_pub_date', 'id', 'objects', 'pk', 'prepar 
    e_database_save', 'pub_date', 'question', 'save', 'save_base', 'serializable_val 
    ue', 'unique_error_message', 'validate_unique'] 

注:私ものインスタントジャンゴをinstantdjango.com使用しています。

+0

試してみる:1) '' python manage.py shell'をもう一度実行する、2) 'models.pyc'ファイルを削除する。 – bernie

+0

私は両方の提案を試みましたが、エラーは同じままでした。試してくれてありがとう。 – user784756

+1

'dir(p)'を実行してオブジェクトの属性を確認できますか? –

答えて

3

私はDjangoチュートリアルの作業中に同様の問題がありました。私はカスタムメソッドを拾うために、Pythonシェルを終了して再起動しなければならないことを発見しました(そしてPollクラスを再インポートする)。

+0

が試行されましたが、動作しません – kenshinji

関連する問題