小编Ale*_*nko的帖子

Django自定义管理器get_queryset()无法正常工作

我不能让我的自定义经理工作......

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,对吗?什么想法可能会出错?

python django django-models python-2.7

8
推荐指数
1
解决办法
4246
查看次数

Django Admin date_hierarchy 中的 NonExistentTimeError

我刚刚在 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)

python django django-admin django-grappelli django-timezone

5
推荐指数
1
解决办法
480
查看次数