有南昌网站优化公司,建个微网站多少钱,口腔医院东莞网站建设,企业品牌推广网站在filter() 方法#xff0c;exclude() 方法中使用大于#xff0c;小于#xff0c;模糊匹配等操作符。
常见的操作符如下#xff1a;
操作符含义示例等于Book.objects.filter(price10)! 或 __ne不等于用于查找字段不等于特定值的记录。但更常用exclude()方法。__gt大于用于…在filter() 方法exclude() 方法中使用大于小于模糊匹配等操作符。
常见的操作符如下
操作符含义示例等于Book.objects.filter(price10)! 或 __ne不等于用于查找字段不等于特定值的记录。但更常用exclude()方法。__gt大于用于查找字段大于特定值的记录Book.objects.filter(price__gt10)__gte大于等于Book.objects.filter(price__gte10)__lt小于 用于查找字段小于特定值的记录。 Book.objects.filter(price__lt10) __lte小于等于 用于查找字段小于等于特定值的记录。 Book.objects.filter(price__lte10) __in在某个列表内 你想要获取所有作者在列表中的书籍你可以使用__in这将返回一个QuerySet其中包含了所有作者为 小强 或 小龙 的书籍。 authors [小强, 小龙] books Book.objects.filter(author__inauthors) __contains包含 用于查找字段包含特定子字符串的记录。 Book.objects.filter(title__containsPython) __icontains不包含 用于查找字段不包含特定子字符串的记录。注意 __icontains是不区分大小写的。 Book.objects.exclude(title__icontainsPython) __startswith以...开始 用于查找字段以特定字符串开始的记录。 Book.objects.filter(title__startswithPython) __endswith以...结束 用于查找字段以特定字符串结束的记录。 Book.objects.filter(title__endswithBook) __exact精确匹配 用于查找字段等于特定值的记录。这与直接使用 是等价的。 Book.objects.filter(title__exactPython Cookbook) __regex 或 __iregex模糊匹配 用于使用正则表达式匹配字段的记录。 __regex 区分大小写 __iregex 不区分大小写。 Book.objects.filter(title__iregexrPython.*) __year日期字段的年份 假设你有一个Post模型其中包含一个created_at字段类型为DateTimeField。如果你想获取所有在2023年创建的帖子你可以使用__year这将返回一个QuerySet。 postsPost.objects.filter(created_at__year2023) __month日期字段的月份假设你有一个Sales模型其中包含一个sale_date字段类型为DateTimeField或DateField 。如果你想获取所有在6月份的销售记录你可以使用__month操作符如下这将返回一个QuerySet其中包含了所有在6月份的销售记录。 from myapp.models import Sales sales_in_june Sales.objects.filter(sale_date__month6)__day日期字段的天数 假设你有一个Event模型其中包含一个event_date字段类型为DateTimeField或DateField。如果你想获取所有在15号发生的事件你可以使用__day 操作符如下这将返回一个QuerySet其中包含了所有在每个月的15号发生的事件。 from myapp.models import Event events_on_15th Event.objects.filter(event_date__day15) __week_day获取指定周日之前的数据假设你有一个LogEntry模型其中包含一个timestamp字段类型为DateTimeField。如果你想获取所有在星期五发生的日志条目你可以使用__week_day操作符如下这将返回一个QuerySet其中包含了所有在星期五发生的日志条目。请注意Django中的星期几是以1开始的即1表示星期一7表示星期日。 from myapp.models import LogEntry entries_on_friday LogEntry.objects.filter(timestamp__week_day5)__hour获取指定区间小时的数据 假设你有一个ActivityLog模型其中包含一个timestamp字段类型为DateTimeField 。如果你想获取所有在上午10点到11点之间发生的活动记录你可以使用__hour操作符如下这将返回一个QuerySet其中包含了所有在上午10点到11点之间发生的活动记录。 from myapp.models import ActivityLog activities_in_morning ActivityLog.objects.filter(timestamp__hour__gte10, timestamp__hour__lt11) __minute获取指定区间分的数据 假设你有一个SystemLog模型其中包含一个timestamp字段类型为DateTimeField 。如果你想获取所有在下午2点30分到2点35分之间发生的系统日志记录你可以使用 __minute操作符如下这将返回一个QuerySet其中包含了所有在下午2点30分到2点35分之间发生的系统日志记录。 from myapp.models import SystemLog logs_in_time_window SystemLog.objects.filter(timestamp__hour14, timestamp__minute__gte30, timestamp__minute__lt35) __second获取指定秒的数据 假设你有一个Trade模型其中包含一个timestamp字段类型为DateTimeField。如果你想获取所有在某个特定秒数内发生的交易记录你可以使用__second操作符如下这将返回一个QuerySet其中包含了所有在10点30分15秒发生的交易记录。 from myapp.models import Trade trades_in_second Trade.objects.filter(timestamp__hour10, timestamp__minute30, timestamp__second15) , | 查询多个条件 使用Q对象可以使用逻辑“与”和“或”|操作符来组合多个查询条件 from django.db.models import Q Book.objects.filter(Q(price__gt10) Q(title__icontainsPython)) 这些操作符可以组合使用以创建非常复杂和精确的查询。