Size: a a a

Django [ru] #STAY HOME

2021 March 18

AF

Alexander Fomin in Django [ru] #STAY HOME
Alexander Fomin
Всем привет!
Есть таблица с данными, импорт которых происходит каждый день из csv. Записи в исходных данных могут обновляться, добавляться и удаляться. Подскажите, как можно эти данные мержить, чтобы новые записи добавлялись, существующие обновлялись при необходимости, а которые отсутствуют в новом импорте - удалялись.
Раньше сделал тупо и быстро - дропал старую таблицу, добавлял новую, но теперь хочу связать эту таблицу с другими.
@dantyan не подскажешь?
источник

N

Nire in Django [ru] #STAY HOME
Alexander Fomin
Ну чтобы все в один компоуз упаковать и развернуть где угодно, не создавая задачи планировщику извне (из хостовой системы и тд). Плюс соблюдается концепция докера - один контейнер, одна задача
Ну крон относится к системе и хосту, зачем его в контейнер пихац?
источник

N

Nire in Django [ru] #STAY HOME
Джанго не должен знать ничего о таск системе. Просто интерфейс по реализовывать, имхо
источник

N

Nire in Django [ru] #STAY HOME
Например в Яндексе есть cron as service
источник

N

Nire in Django [ru] #STAY HOME
В авс и почти везде тоже
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Alexander Fomin
Ну чтобы все в один компоуз упаковать и развернуть где угодно, не создавая задачи планировщику извне (из хостовой системы и тд). Плюс соблюдается концепция докера - один контейнер, одна задача
мой вопрос был к тому зачем использовать
http
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Alexander Fomin
Всем привет!
Есть таблица с данными, импорт которых происходит каждый день из csv. Записи в исходных данных могут обновляться, добавляться и удаляться. Подскажите, как можно эти данные мержить, чтобы новые записи добавлялись, существующие обновлялись при необходимости, а которые отсутствуют в новом импорте - удалялись.
Раньше сделал тупо и быстро - дропал старую таблицу, добавлял новую, но теперь хочу связать эту таблицу с другими.
по какому принципу понимается что сущность есть ?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
в csv есть id записи ?
источник

AF

Alexander Fomin in Django [ru] #STAY HOME
Dan Tyan
в csv есть id записи ?
Есть уникальные значения
источник

DT

Dan Tyan in Django [ru] #STAY HOME
на сколько понимаю создание обновление не проблема
источник

DT

Dan Tyan in Django [ru] #STAY HOME
осталось собрать список всех id
и удалить остальные
источник

AF

Alexander Fomin in Django [ru] #STAY HOME
Ага, а вот удаление вторым шагом только придумал
источник

DT

Dan Tyan in Django [ru] #STAY HOME
ну да
источник

DT

Dan Tyan in Django [ru] #STAY HOME
сначала собираешь
потому удаляешь
источник

AF

Alexander Fomin in Django [ru] #STAY HOME
Ок, спасибо!
источник

АМ

Андрей Михайлов... in Django [ru] #STAY HOME
Всем привет
Новичок в джанго. Подскажите, никак не могу понять, почему кнопки пользовательские на моем компе работают, а на другом нет? То есть action срабатывает только с одного устройства. Запросы, что самое интересное, приходят.

Акк юзера используется один

Сайт расположен на сервере.
источник

DT

Dan Tyan in Django [ru] #STAY HOME
в смысле action не работают но запросы приходят
источник

АМ

Андрей Михайлов... in Django [ru] #STAY HOME
В логах вижу запрос get, но функция обработки запроса не срабатывает
источник

DT

Dan Tyan in Django [ru] #STAY HOME
ну показывай код
источник

АМ

Андрей Михайлов... in Django [ru] #STAY HOME
index.html
<button class="items" type="button" onclick="ONparser()" value="${_csrf.token}"">Включить парсер</button>
 <button class="items" type="button" onclick="OFFparser()" value="${_csrf.token}"">Выключить парсер</button>
function OFFparser() {
   let xhr = new XMLHttpRequest();
   xhr.open('GET', '/?parser=OFF', );
   xhr.send();
}
function ONparser() {
   let xhr = new XMLHttpRequest();
   xhr.open('GET', '/?parser=ON', );
   xhr.send();
}

views.py
if request.GET.get('parser', '') == 'ON':  on_parser()
  elif request.GET.get('parser', '') == 'OFF': off_parser()
источник