2015-01-04 2 views
0

Я запускаю запрос, который принимает параметр поиска. Если параметр поиска всегда пуст, я хочу явно вернуть пустой набор записей. Существует ряд других случаев, в которых было бы полезно вернуть пустой набор записей. Я просеивают через документы и единственный вариант я вижу SelectQuery, например, так:Явно возвращаю пустой набор записей Peewee

users = SelectQuery(User).where(User.id==0) 

Чтобы было ясно, я хочу пустой QuerySet, но было бы неплохо, если бы у меня не было фальсифицировать где предложение, чтобы получить его. Я уверен, что что-то подобное существует, но я просто этого не вижу. Есть ли способ лучше?

ответ

1

На самом деле я делаю то же самое на своем сайте для пустых поисков. Я думаю, что это хороший подход.

0

Per @coleifer, мое решение является предпочтительным вариантом. Импорт SelectQuery и модель по вашему выбору. Затем выполните более простой запрос, который явно не возвращает никаких результатов.

from peewee import SelectQuery 
from models import User 
users = SelectQuery(User).where(User.id==0) 
+0

Почему бы не 'User.select(). Where (User.id == 0)'? Кажется странным использовать подобный выбор. – coleifer

+0

В идеале я бы мог использовать SelectQuery без указания модели. Тогда я мог бы избежать импорта модели, на которой меня не волнует. Я ожидаю, что набор записей будет пустым, что означает, что меня не волнует ни одно из свойств рассматриваемой модели. Мне просто нужен общий пустой набор записей. – commadelimited

+0

Это не имеет никакого смысла для меня. – coleifer

Смежные вопросы