我在我的项目中使用Django Framework。我希望以查询开头的结果然后是包含查询的结果,但是当我使用以下代码时,它会给出混合结果而不是一个接一个。我怎样才能达到我的要求
collections = TokenCollection.objects.filter(Q(title__istartswith=query) | Q(title__icontains=query))
答案 0 :(得分:0)
使用itertools.chain
的东西可能适合您的需求,但如果返回的数据集很大,您可能会遇到性能问题:
from itertools import chain
collections = list(chain(
TokenCollection.objects.filter(title__istartswith=query),
TokenCollection.objects.filter(title__icontains=query)
.exclude(title__istartswith=query)
))
答案 1 :(得分:0)
试试这个
from datetime import date
from pony import orm
db = orm.Database()
db.bind(provider='sqlite', filename='database.sqlite')
orm.sql_debug(True)
db.generate_mapping(create_tables=True)
class Guest(db.Entity):
nome = orm.Required(str)
surname = orm.Required(str)
email = orm.Required(str, unique=True)