2013-11-21 35 views
0

我正在使用django控制台尝试在我的sqllite数据库上测试查询。试图按字段值与Django数据库API筛选

表的模式始于:

class Message(models.Model): 
    mailbox = models.ForeignKey(Mailbox, related_name='messages') 
    subject = models.CharField(max_length=255) 
    message_id = models.CharField(max_length=255) 
    in_reply_to = models.ForeignKey(
     'django_mailbox.Message', 
     related_name='replies', 
     blank=True, 
     null=True, 
    ) 
    ........ 

这是我尝试在Django的控制台测试:

>>> from django_mailbox.models import Message 
>>> o = Message.objects.all() 
>>> o 
[<Message: Get Gmail for your mobile device>, <Message: Tips for using Gmail>, <Message: Welcome to Gmail>, <Message: Getting started on Google+>, '...(remaining elements truncated)...'] 
>>> o = Message.objects.filter(in_reply_to > 0) 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
NameError: name 'in_reply_to' is not defined 

正如你可以看到Message.objects.all()的作品。但是,当我尝试通过具有正值的特定字段进行筛选时,我会收到错误消息。我究竟做错了什么?

回答

2

您的字段查找的语法不正确。我建议您查看gt查找的文档。

你的具体情况:

o = Message.objects.filter(in_reply_to_id__gt=0) 
+0

感谢大卫 - 那工作! - 比尔 – user61629