С Peewee я пытаюсь использовать лимит следующим образом:
one_ticket = Ticket.select().limit(1)
print one_ticket.count()
Однако это выводит 5. Кто-нибудь знает, что здесь не так?
С Peewee я пытаюсь использовать лимит следующим образом:
one_ticket = Ticket.select().limit(1)
print one_ticket.count()
Однако это выводит 5. Кто-нибудь знает, что здесь не так?
Попробуйте запустить peewee
в режиме отладки, который на самом деле просто настраивает модуль python logging
для обработки элементов уровня logging.DEBUG
:
import logging
logging.basicConfig(
format='[%(asctime)-15s] [%(name)s] %(levelname)s]: %(message)s',
level=logging.DEBUG
)
# From here, you can now perform your query, and you should see peewee's debug output using the logging module.
one_ticket = Ticket.select().limit(1)
print one_ticket.count()
В идеале вы должны увидеть необработанный запрос.
[2013-11-19 10:41:33,555] [peewee] DEBUG]: ('SELECT Count(t1."id") FROM "ticket" AS t1 LIMIT 1', [])
. Это все еще оставляет меня в неведении относительно того, почему счет равен 5. Любые идеи?
- person kramer65; 19.11.2013
one_ticket.wrapped_count()
вместо этого. Более прямой one_ticket.count()
по умолчанию будет подсчитывать количество элементов из первичного ключа, как показано в источнике: github.com/coleifer/peewee/blob/master/peewee.py#L1653
- person VooDooNOFX; 19.11.2013