Pull to refresh
3
0
Send message
Он не выполняется только если это было первое объявление queryset, у меня его специально нет. Да и время выполнения скрипта было бы меньше, чем в Postgres, если бы запрос не выполнялся. Но это не так.


Документация же говорит об обратном:
docs.djangoproject.com/en/3.0/topics/db/queries/#querysets-are-lazy
docs.djangoproject.com/en/3.0/ref/models/querysets/#when-querysets-are-evaluated

Вы можете сколько угодно раз создавать / фильтровать запросы, выполнены они будут только при реальном обращении к данным.

Для подсчета времени выполнения функции лучше использовать time.perf_counter или что-то из модуля timeit

queryset.filter() — возвращает ленивый объект QuerySet, запрос к базе не выполняется, считать скорость выполнения бессмысленно.


Сравнивать различные запросы к бд и замерять курлом время получения ответа так же некорректно, т.к. гораздо больше времени будет затрачено на миддлвари/сериализацию данных.

спасибо за статью, узнал о возможности авторизации через dns.


Для простых случаев для docker swarm, где не требуется такая специфика советую посмотреть на traefik (https://docs.traefik.io/providers/docker/). из коробки автоматическая конфигурация хостов на основе labels сервисов в докере и автоматическое получение let's encrypt сертификата

Ардуина работает фактически только как датчик+реле. Вся логика, хранение данных и красивости крутятся на домашнем сервере на Linux (в его роли может выступать и малинка).

eBus нет в моей моделе нет (Protherm Медведь).

В этих датчиках есть измерение влажности и температуры, работают они 2х AAA батареек. Производитель обещает год работы от одного комплекта, на улицу с отрицательными температурами рекомендуют взять литиевые батарейки. У меня пока работает с алкалайновыми.
тоже делаю аналогичную систему для мониторинга дома.

Сбор температуры идет через Arduino. К котлу подключены 2 DS18B20 (подача и обратка). В доме и на улице расставлены 4 беспроводных датчика Ambient ws-07, работающих на частоте 433Mhz. Их показания принимает ардуина с помощью RF приемника, и фирменный дисплей. С качественным RF приемником нормально ардуино нормально принимает данные через несколько стен, фактически является мостом между 433Mhz и MQTT сервером.

В качестве исполнительного механизма — оптореле, подключенное к котлу как комнатный термостат, он необходим для ограничения максимальной температуры. Так же к котлу подключен внешний датчик температуры (фактически — резистор NTC 10k) для управления мощностью котла в зависимости от температуры на улице.

Общение с Arduino идет через MQTT протокол. Ардуина публикует данные температуры, и получает команду на вкл/выкл котла.
К MQTT серверу так же подключены управляющий скрипт (если t > 22 — выкл. котел, если меньше — вкл. ) и скрипт для логирования данных.

Для хранения исторических данных используется классная библиотека graphite, к которой есть с десяток симпатичных веб-интерфейсов. (я использую grafana)
С самбой аналогично, где-то докрутили настройки безопасности и теперь анонимный вход с win10 на samba не работает.
У себя решил просто добавлением пользователя и включением авторизации.
Попробуй uBlock. Можно резать не только рекламу, но и любые html элементы.
И по тестам выглядит инетересно
image
Рекомендую «Two scoops of Django. Best practice for Django 1.6»
ui-router не пробовали? Позволяет работать с состоянием одностраничным приложением как с конечным автоматом, использовать множественные и / или вложенные view, передавать параметры в том числе (но не только) и через location.
Для более-менее сложной разработки лучше использовать vagrant, тем более что его поддержка есть в PyCharm. Если еще настроить автоматический provision — то это позволит без проблем передавать проект другому разработчику ( или хранить настройки виртуального окружения в git ).

А virtualenv не всегда может помочь. Например — разработка и продакшен ведутся на разных платформах (Windows / Linux), или разные версии серверов БД (и подобных) которые не смогут ужиться вместе на одном хосте.
Для хранения телефонных номеров советую попробовать библиотеку django-phonenumber-field.
В её составе есть FormField и ModelField, так же из коробки получаем валидацию номеров для кучи стран и форматирование в национальном и международном формате.
Да, часто пользуюсь такой функцией.
Вот примерный алгоритм работы у Авангарда:

Надо снять 10000 руб., после выбора суммы выводится окно:
5000 — 2шт, 1000 — 0шт, 500 — 0шт, 100 — 0шт. и кнопки выдать и изменить купюры.
При выборе «изменить» предлагается пошагово, начиная с максимальной купюры, ввести количечество купюр.
> Введите количество 5000 — 1 шт.
> Введите количество 1000 — 3 шт (макс. — 5 шт)
> Введите количество 500 — 4 шт (макс. 4 шт)

В результате все получается достаточно быстро и удобно.
Замените на sed -i…

В статье исправил.

Information

Rating
Does not participate
Registered
Activity