170 похожих чатов

Загружаю данные в базу данных csv файлами (1 строка =1

объект в БД), количество данных(строк) в файле может быть разным, мне нужно гет запросом выбрать только те данные, которые были загружены последним файлом, как это можно сделать?

11 ответов

16 просмотров

как вариант фиксировать дату добавления

Aleksandr- Автор вопроса

Да, я её фиксирую, автоматом пишется в базу, но тут момент такой что в гет запросе ничего передавать нельзя, т.е. Дата у меня есть, но я не могу её явно задать. Пока писал этот ответ подумал что могу её задавать через max(date_upload_at) 😊

в данных поле is_recent - bool 1 я загрузка - is_recent по умолчанию True 2-я загрузка стартовала Item.objects.filter(is_recent=True).update(is_recent=False) здесь цикл по csv как в 1-й загрузка get Item.objects.filter(is_recent=True)

Aleksandr- Автор вопроса

Спасибо, думал использовать подобные флаги, но хотелось обойтись без лишних запросов в базу)

без лишних никак

Можешь флаги хранить в nosql базе

Aleksandr- Автор вопроса

Не, условие что вся работа в реляционной бд

ну если оптимизировать, делаем автоинкремент какой нить и запоминаем его последнее значение все что больше - отдаем

Aleksandr- Автор вопроса

Спасибо большое, почитаю как это делается, если шибко сложно будет, то сделаю несколько запросов пока что работало, а после уже задумаюсь об оптимизации)

еще в догонку, можно тупо recent таблицу сделать - которая кусок от актуальной бд те при импорте ее очищаем закидываем в нее и в основную - а уже рестом отдаем из нее данные запись дороже, чтение моментом или тупо даже не таблицу а сразу в кеш пихаем и все последние данные )

Aleksandr- Автор вопроса

Во, это звучит ещё интереснее, буду пробовать) спасибо огромное)

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта