Skip to main content
 首页 » 编程设计

python之名称错误 : name 'F' is not defined in Django ORM query

2024年08月14日42zdz8207

我在 PyCharm 中使用 ipython (Python 3.7) 控制台。我正在尝试运行 Django ORM 查询

Article.objects.filter((round(datetime.now(timezone.utc) - F("created_on")) / 300) * 300) 

但我收到以下错误

Traceback (most recent call last): 
  File "/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site-packages/IPython/core/interactiveshell.py", line 3267, in run_code 
    exec(code_obj, self.user_global_ns, self.user_ns) 
  File "<ipython-input-12-53618885441a>", line 1, in <module> 
    Article.objects.filter((round(datetime.now(timezone.utc) - F("created_on")) / 300) * 300) 
NameError: name 'F' is not defined 

我认为“F”是在表达式中引用我的模型中的字段的方式,但我得到了上面的错误。我的文章模型包含如下字段......

class Article(models.Model): 
    ... 
    created_on = models.DateTimeField(default=datetime.now) 

请您参考如下方法:

在 Python 控制台中你需要导入 F

from django.db.models import F