我有一个如下的模型:
class Page(Model):
book = ForeignKey(Book, on_delete=CASCADE)
page = IntegerField()
start = CharField(max_length=350, db_index=True)
end = CharField(max_length=350, db_index=True)
如何查询数据库以获取包含给定单词的页面?
page1 = Page.objects.create(start='beaver', end='brother')
page2 = Page.objects.create(start='boy', end='brother')
- Page.objects.filter("breast" 在 start 和 end 之间) 应该返回 page1 和 page2。
- Page.objects.filter("beast" 在 start 和 end 之间) 不应该返回任何结果。
- Page.objects.filter("block" 在 start 和 end 之间) 应该只返回 page1,因为
block
按字母表顺序在 beaver 和 brother 之后。
搜索应该不区分大小写。
因此,我需要编写一个查询语句,以获取所有行,其中 start
在字母表上“更小”而end
在字母表上“更大”。