2017-07-12 61 views
1

我正在嘗試按照投票教程進行操作,其中包括來自項目的urls.py和來自polls目錄的models.py'question_text'是此函數的無效關鍵字參數

q = Question(question_text="some text", pub_date=timezone.now)) 

導致以下錯誤:

'question_text' is an invalid keyword argument for this function. 

的mysite/urls.py

from django.conf.urls import include, url 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^polls/', include('polls.urls')), 
    url(r'^admin/', admin.site.urls), 
] 

民調/ models.py

import datetime 
from django.db import models 
from django.utils import timezone 

# Create your models here. 

class Poll(models.Model): 
    question = models.CharField(max_length=200) 
    pub_date = models.DateTimeField('date published') 


class Question(models.Model): 
    question_text = models.CharField(max_length=200) 
    pub_date = models.DateTimeField('date published') 

    def __str__(self): 
     return self.question_text 

    def was_published_recently(self): 
     return self.pub_date >= timezone.now() - datetime.timedelta(days=1) 


class Choice(models.Model): 
    question = models.ForeignKey(Question, on_delete=models.CASCADE) 
    choice_text = models.CharField(max_length=200) 
    votes = models.IntegerField(default=0) 

    def __str__(self): 
     return self.choice_text 

回答

0

如果您在Django殼這樣做,你首先必須導入您正在使用的模式,你的情況,你需要導入模型問題

讓我們回憶一下一切從一開始。

第1步:激活你的shell

python manage.py shell 

2步:導入你的模型問題並導入時區

from polls.models import Question 
from django.utils import timezone 

3步:現在運行查詢

q = Question(question_text="What's new?", pub_date=timezone.now()) 

如果您已經注意到,根據您的問題,這裏是您做錯了什麼。

第4步:運行保存方法

q.save() 

所有這一切都與w.r.t玩API Polls Tutorial

0

我認爲,雖然學習教程,你已經做了很多的代碼更改,並沒有反映在SQL數據庫中。因此,在上面的步驟之前,請按照下面的步驟操作。

python manage.py migrate 
python manage.py makemigrations polls 
python manage.py migrate 

,現在做到這一點

python manage.py shell 
from polls.models import Question 
from django.utils import timezone 
q = Question(question_text="What's new?", pub_date=timezone.now() 
q.save() 
相關問題