works = Case.objects \Так вот проблема вот в чем, на локальной машине все запросы возвращают совершенно одинаковый ответ, допустим:
.filter(active=active) \
.order_by(sort)
if kwargs.get("language") is not None:
works = works.filter(language__code=kwargs.get("language"))
works = list(works.values_list("id", flat=True))
Works IDs: 50, 51, 53, 55, 118, 104, 108, 57, 59, 62, 63, 65, 67, 69, 71, 110, 82, 83, 85, 87, 90, 92, 94, 96, 73, 75, 77, 79, 112, 113, 114, 115,
116, 117, 98, 100, 102, 106, 111Но на боевом серваке, тот же код, начинает чудить, и каждый раз меняет порядок элементов в списке.
Works IDs: 50, 51, 104, 108, 53, 55, 118, 65, 67, 69, 71, 110, 57, 59, 62, 63, 73, 75, 77, 79, 82, 83, 85, 87, 90, 92, 94, 96, 98, 100, 102, 106, 111, 112, 113, 114, 115, 116, 117
Works IDs: 50, 51, 53, 55, 118, 104, 108, 57, 59, 62, 63, 65, 67, 69, 71, 110, 85, 87, 90, 92, 94, 96, 73, 75, 77, 79, 82, 83, 114, 115, 116, 117, 98, 100, 102, 106, 111, 112, 113
Works IDs: 50, 51, 118, 104, 108, 53, 55, 59, 62, 63, 65, 67, 69, 71, 110, 57, 92, 94, 96, 73, 75, 77, 79, 82, 83, 85, 87, 90, 117, 98, 100, 102, 106, 111, 112, 113, 114, 115, 116
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; color: #f4f4f4; background-color: #000000; background-color: rgba(0, 0, 0, 0.85)}
span.s1 {font-variant-ligatures: no-common-ligatures}
def resolve_next_prev_work(self, info, **kwargs):
"""получение следующего и предыдущего id кейса"""
logger = logging.getLogger("schema")
work_id = kwargs.get("work_id")
active = kwargs.get("active", True)
sort = kwargs.get("sort", "desc")
if sort == "asc":
sort = "active_to"
else:
sort = "-active_to"
works = Case.objects \
.filter(active=active) \
.order_by(sort)
if kwargs.get("language") is not None:
works = works.filter(language__code=kwargs.get("language"))
logger.debug("\n{}\n".format(works.query))
works = list(works.values_list("id", flat=True))
logger.debug("Works IDs: {}\n".format(", ".join(str(work_id) for work_id in works)))
len_works = len(works) - 1
if len_works >= works.index(work_id) + 1:
next_id = works[works.index(work_id) + 1]
else:
next_id = works[0]
prev_id = works[works.index(work_id) - 1]
return NextPrevWork(next_id=next_id,
prev_id=prev_id,
next_code=Case.objects.get(pk=next_id).sef_url,
prev_code=Case.objects.get(pk=prev_id).sef_url,
next_title=Case.objects.get(pk=next_id).title,
prev_title=Case.objects.get(pk=prev_id).title)
SELECT `Case_case`.`id`, `Case_case`.`title`, `Case_case`.`active_from`, `Case_case`.`active_to`, `Case_case`.`active`, `Case_case`.`best`, `Case_case`.`content`, `Case_case`.`sef_url`, `Case_case`.`url`, `Case_case`.`logo`, `Case_case`.`logo_webp`, `Case_case`.`image`, `Case_case`.`image_preview`, `Case_case`.`image_webp`, `Case_case`.`image_preview_webp`, `Case_case`.`color`, `Case_case`.`created_at`, `Case_case`.`language_id`, `Case_case`.`is_pushed` FROM `Case_case` INNER JOIN `Language_language` ON (`Case_case`.`language_id` = `Language_language`.`id`) WHERE (`Case_case`.`active` = True AND `Language_language`.`code` = ru) ORDER BY `Case_case`.`active_to` ASC
Works IDs: 50, 51, 118, 104, 108, 53, 55, 59, 62, 63, 65, 67, 69, 71, 110, 57, 92, 94, 96, 73, 75, 77, 79, 82, 83, 85, 87, 90, 117, 98, 100, 102, 106, 111, 112, 113, 114, 115, 116
SELECT `Case_case`.`id`, `Case_case`.`title`, `Case_case`.`active_from`, `Case_case`.`active_to`, `Case_case`.`active`, `Case_case`.`best`, `Case_case`.`content`, `Case_case`.`sef_url`, `Case_case`.`url`, `Case_case`.`logo`, `Case_case`.`logo_webp`, `Case_case`.`image`, `Case_case`.`image_preview`, `Case_case`.`image_webp`, `Case_case`.`image_preview_webp`, `Case_case`.`color`, `Case_case`.`created_at`, `Case_case`.`language_id`, `Case_case`.`is_pushed` FROM `Case_case` INNER JOIN `Language_language` ON (`Case_case`.`language_id` = `Language_language`.`id`) WHERE (`Case_case`.`active` = True AND `Language_language`.`code` = ru) ORDER BY `Case_case`.`active_to` ASC
Works IDs: 50, 51, 104, 108, 53, 55, 118, 65, 67, 69, 71, 110, 57, 59, 62, 63, 73, 75, 77, 79, 82, 83, 85, 87, 90, 92, 94, 96, 98, 100, 102, 106, 111, 112, 113, 114, 115, 116, 117
SELECT `Case_case`.`id`, `Case_case`.`title`, `Case_case`.`active_from`, `Case_case`.`active_to`, `Case_case`.`active`, `Case_case`.`best`, `Case_case`.`content`, `Case_case`.`sef_url`, `Case_case`.`url`, `Case_case`.`logo`, `Case_case`.`logo_webp`, `Case_case`.`image`, `Case_case`.`image_preview`, `Case_case`.`image_webp`, `Case_case`.`image_preview_webp`, `Case_case`.`color`, `Case_case`.`created_at`, `Case_case`.`language_id`, `Case_case`.`is_pushed` FROM `Case_case` INNER JOIN `Language_language` ON (`Case_case`.`language_id` = `Language_language`.`id`) WHERE (`Case_case`.`active` = True AND `Language_language`.`code` = ru) ORDER BY `Case_case`.`active_to` ASC
Works IDs: 50, 51, 53, 55, 118, 104, 108, 57, 59, 62, 63, 65, 67, 69, 71, 110, 85, 87, 90, 92, 94, 96, 73, 75, 77, 79, 82, 83, 114, 115, 116, 117, 98, 100, 102, 106, 111, 112, 113
Всем привет.
works = list(works.values_list("id", flat=True))
Всем привет.
import pymysqlИ почему тогда на локальной машине нет проблем?
pymysql.install_as_MySQLdb()
Всем привет.
Всем привет.
Всем привет.
--
Вы получили это сообщение, поскольку подписаны на группу "Django russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес django-russia...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.