我正在尝试执行以下操作
from core.models import *
q1 = MessageRecipient.objects.filter(message__subject__icontains="Enfim")
产生以下WHERE
子句:
WHERE `message`.`subject` LIKE %Enfim%
看类似的说法。
Django 没有使用报价。我在这里错过了什么吗?我打赌我是。因为这是一个常用的功能。有人会意识到这是否是一个错误。发生了什么?
如果您在https://github.com/django/django/blob/master/django/db/models/sql/query.py查看对象的__str__()
方法,您将在文档字符串中看到以下警告:Query
参数值不一定会被正确引用,因为这是由数据库接口在执行时完成的。
别担心,这不重要,似乎是消息!这不是一个错误,因此,您只需要考虑您的.query
用途。如果您想在以后重新创建具有最新结果的查询集,则可以进行调试或pickle 。这不是您可以直接传递给数据库的东西。