【问题标题】:NameError at / name 'article_finish_date' is not definedNameError at / name 'article_finish_date' 未定义
【发布时间】:2016-05-24 09:50:36
【问题描述】:

所以我正在尝试创建一个自定义管理器来扩展默认管理器,但我遇到了一个我无法修复的错误。我已经阅读了所有 django 文档,但看不出我做错了什么!

错误:

NameError at /
name 'article_finish_date' is not defined

这是我的models.py

import datetime
from django.conf import settings
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User

class ArticleManager(models.Manager):
    def get_queryset(self):
        return super(ArticleManager, self).get_queryset().filter(article_finish_date==None)

class Article(models.Model):
    article_name_text = models.CharField(max_length=200)
    article_creation_date = models.DateTimeField('date created')
    article_publish_date = models.DateTimeField('date published', null=True, blank=True)
    article_finish_date = models.DateTimeField('date finished', null=True, blank=True)
    def __str__(self):
        return self.article_name_text
    actives = ArticleManager()

我已尝试按 Article 模型的所有不同值进行过滤,但出现了同样的问题。我已经尝试了 migrated 和 makemigrations,但是没有任何进展。

非常感谢,如果您需要更多详细信息,请询问!

【问题讨论】:

  • 它对我来说很好用。确保您没有其他问题。也许删除 *.pyc 文件并重新启动环境。

标签: python django django-models django-queryset django-managers


【解决方案1】:

错误在这部分:

.filter(article_finish_date==None)

Python 正在尝试评估表达式 article_finish_date==None,但尚未定义 article_finish_date。相反,您想使用单个 =

.filter(article_finish_date=None)

【讨论】:

    猜你喜欢
    • 2018-04-03
    • 2022-11-21
    • 2022-09-23
    • 2022-11-25
    • 1970-01-01
    • 2023-01-17
    • 2020-11-15
    • 2013-04-09
    • 1970-01-01
    相关资源
    最近更新 更多