我不能让我的自定义经理工作......
class PublicArtigoManager(models.Manager):
def get_queryset(self):
return super(PublicArtigoManager, self).get_queryset().filter(data_publicacao__lte=timezone.now()).filter(permissao__lte=3)
class Artigo(models.Model):
...
objects = models.Manager()
publics = PublicArtigoManager()
Run Code Online (Sandbox Code Playgroud)
当我在shell中测试时,它不起作用
>>> from artigos.models import Artigo
>>> from django.utils import timezone
>>> print Artigo.objects.count()
9960
>>> print Artigo.publics.count()
9960
>>> print Artigo.objects.filter(data_publicacao__lte=timezone.now()).filter(permissao__lte=3).count()
9959
Run Code Online (Sandbox Code Playgroud)
Artigo.publics.count()应该返回9959,对吗?什么想法可能会出错?
我刚刚在 Django Admin 中遇到错误。这是本地重现的日志:
NonExistentTimeError at /admin/{blah}/
2015-10-18 00:00:00
Request Method: GET Request
URL: http://127.0.0.1:8000/admin/{blah}/?q=someuser%40hotmail.com
Django Version: 1.7.10
Exception Type: NonExistentTimeError
Exception Value: 2015-10-18 00:00:00 Exception
Location: C:\Python27\lib\site-packages\pytz\tzinfo.py in localize,
line 327 Python Executable: C:\Python27\python.exe Python
Version: 2.7.10
Run Code Online (Sandbox Code Playgroud)
我发现它确实2015-10-18 00:00:00不存在于我的时区(“美国/圣保罗”)中,因为那是夏令时开始的时间。
我正在使用date_hierarchy = 'date_lastupdated',当我在管理员中搜索用户someuser@hotmail.comDjango 时,仅返回一条记录,而该用户的记录date_lastupdated是'2015-10-18 05:10:18.593336-03'.
错误发生在模板~~~~/Python27/lib/site-packages/grappelli/templates/admin/change_list.html第 212 行:
<!-- DATE HIERARCHY -->
{% block date_hierarchy %}
{% if cl.date_hierarchy %}{% date_hierarchy cl %}{% endif %}
{% …Run Code Online (Sandbox Code Playgroud)