【问题标题】:Django-models. Complex request to databaseDjango 模型。对数据库的复杂请求
【发布时间】:2010-07-20 04:19:03
【问题描述】:

我需要通过 django 对数据库提出特殊要求。

例如:

class Model(models.Model):
     name=models.CharField()
     date=models.DateTimeField()
     other=models.TextField()

我如何询问名称包含单词'Hello' 的行(它应该忽略第一个字母的寄存器) 最后它必须在日期的调音中,例如在2005.08.092005.08.11之间?

【问题讨论】:

    标签: python django-models filter


    【解决方案1】:

    尝试以下方法:

    start_date = datetime.date(2005, 8, 9)
    end_date = datetime.date(2005, 8, 11)
    Model.objects.filter(name__icontains="hello").filter(date__range(start_date,end_date))
    

    您可以堆叠任意数量的过滤器,并将其内置到单个 SQL 查询(或您使用的任何数据库系统)中

    【讨论】:

    • 如果我知道只有一个结果,我可以在 get() 方法中传递这个请求吗?
    • 是的,有Q对象,但性能不会更好。
    猜你喜欢
    • 2016-09-26
    • 2013-03-16
    • 2016-09-24
    • 1970-01-01
    • 2012-08-21
    • 2011-07-13
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多