我是Python新手,特別是Django。當試圖潛入主題。框架,並通過其官方教程運行我在說頸部錯誤一些疼痛:向模型中添加自定義方法時出錯(來自Django教程)
我輸入Django的外殼下一個(「蟒蛇manage.py殼」從項目目錄中調用):
>>> from polls.models import Poll, Choice
>>> from django.utils import timezone
>>> p = Poll.objects.get(pk=1)
>>> p.was_published_recently()
,我獲得下一個外殼輸出:
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'Poll' object has no attribute 'was_published_recently'"
有人可以幫助我得到什麼我做錯了什麼?因爲我根本不知道什麼會導致這樣的錯誤...(已經從Google搜索出來,但沒有找到可以解決我的問題的答案)。
我用:
Django的1.5.1版
Python版本2.7.5
我這裏還有我的 「民意調查」 的模式代碼:
import datetime
from django.utils import timezone
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_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
def __unicode__(self):
return self.choice_text
而且,這裏是我的 「管理」 文件:
from django.contrib import admin
from polls.models import Choice, Poll
class ChoiceInline(admin.TabularInline):
model = Choice
extra = 3
class PollAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['question']}),
('Date information', {'fields': ['pub_date'], 'classes': ['collapse']}),
]
inlines = [ChoiceInline]
list_display = ('question', 'pub_date', 'was_published_recently')
admin.site.register(Choice)
admin.site.register(Poll, PollAdmin)
在shell中嘗試'poll.was_published_recently()'時的輸出是什麼?如果可行,你是否也重新啓動了服務器以獲取代碼中的更改? – bouke
我得到下一個輸出:「追溯(最近呼叫最後):文件」「,第1行,在 AttributeError:'民意調查'對象沒有屬性'was_published_recently'」 –
Splanger