我正在尝试按照民意调查教程我从项目中包含urls.py
和从民意调查目录中包含models.py
。
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 :(得分:0)
如果您在django shell中执行此操作,首先需要导入正在使用的模型,在您需要导入模型问题
的情况下 让我们从头开始回忆一切。第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 Polls Tutorial玩api。
答案 1 :(得分: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()