gpt4 book ai didi

python - Django 中的断言错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:35 26 4
gpt4 key购买 nike

我一直在努力解决这个问题,似乎有一个非常简单的解决方案,但我太盲目了,看不到它。我已经从 Django 1.4.3 升级到 Django 1.6,从那时起我在尝试让 DateTimeField 工作时遇到断言错误。

这是我的模型

class Article(models.Model):
'''Article Model'''

banner = models.ImageField(verbose_name="Banner", null=True, blank=True, upload_to='ajax_uploads/banners', max_length=300)

title = models.CharField(
verbose_name = _(u'Title'),
help_text = _(u' '),
max_length = 255
)
slug = models.SlugField(
verbose_name = _(u'Slug'),
help_text = _(u'Uri identifier.'),
max_length = 255
)
content_markdown = models.TextField(
verbose_name = _(u'Content (Markup)'),
help_text = _(u' '),
)
content_markup = models.TextField(
verbose_name = _(u'Content (Markup)'),
help_text = _(u' '),
)
categories = models.ManyToManyField(
Category,
verbose_name = _(u'Categories'),
help_text = _(u' '),
null = True,
blank = True
)
date_publish = models.DateTimeField(
default=datetime.date.today,
verbose_name = _(u'Publish Date'),
help_text = _(u' ')
)

class Meta:
app_label = _(u'blog')
verbose_name = _(u'Article')
verbose_name_plural = (u'Articles')
ordering = ['-date_publish']

def save(self):
self.content_markup = markdown(self.content_markdown, ['codehilite'])
super(Article, self).save()

def __unicode__(self):
return '%s' % (self.title,)

views.py:

def index(request):
'''News index'''
archive_dates = Article.objects.dates('date_publish','month', order='DESC')
categories = Category.objects.all()

page = request.GET.get('page')
article_queryset = Article.objects.all()
paginator = Paginator(article_queryset, 5)

try:
articles = paginator.page(page)
except PageNotAnInteger:
#If page requested is not an integer, deliver first page.
articles = paginator.page(1)
except EmptyPage:
#If page requested is out of range, deliver last page of results.
articles = paginator.page(paginator.num_pages)

return render(
request,
'blog/article/index.html',
{
'articles' : articles,
'archive_dates' : archive_dates,
'categories' : categories
}
)

和模板

                        <div class="8u skel-cell-important">
{% for item in articles %}
<!-- Content -->
<article class="box is-post">
<a href="{% url "blog-article-single" slug=item.slug %}" class="image image-full"><img src="/media/{{ item.banner }}" alt="" /></a>
<header>
<h2><a href="{% url "blog-article-single" slug=item.slug %}">{{ item.title }}</a></h2>
<span class="byline">Published {{ item.date_publish|date:"j, M, Y" }}</span>
</header>
<p>
{{ item.content_markup|safe|slice:":250" }}...
</p>
</article>
{% endfor %}
</div>

最后是错误回溯:

AssertionError at /blog/

'date_publish' is a DateTimeField, not a DateField.

Request Method: GET
Request URL: http://localhost:8000/blog/
Django Version: 1.6.1
Exception Type: AssertionError
Exception Value:

'date_publish' is a DateTimeField, not a DateField.

Exception Location: /usr/local/lib/python2.7/dist-packages/django/db/models/sql/subqueries.py in _check_field, line 258
Python Executable: /usr/bin/python2.7
Python Version: 2.7.3
Python Path:

['/home/user/paperpxl',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/pymodules/python2.7',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
'/usr/lib/python2.7/dist-packages/ubuntuone-couch',
'/usr/lib/python2.7/dist-packages/ubuntuone-installer',
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']

Server time: Thu, 19 Dec 2013 15:28:43 +0000

如有任何帮助,我们将不胜感激!

编辑:感谢你们的帮助,我将返回发行说明再次通读!我希望我能像您一样关注细节。

最佳答案

date_publish 是一个 DateTimeField,而不是一个 DateField。使用 datetimes()方法而不是 dates()

Article.objects.datetimes('date_publish', 'month', order='DESC')

参见 1.6 release notes了解更多详情。

关于python - Django 中的断言错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com