Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 05.07.2014
Сообщений: 58

Как в else отобразить не добавленные элементы в DRF

08.01.2020, 23:49. Показов 1435. Ответов 4

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Добавляю через файл записи в модель. Через post передается xls файл, парсится и добавляются значение в бд. С помощью исключения происходит проверка на наличие имеющихся записей в базе, записываются только те записи, которые отсутствуют.
Подскажите пожалуйста, как можно написать else для отображения в json записей, которые уже имелись и не добавились.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def post(self, request):
    file = request.FILES['file_data']
    file_data = xlrd.open_workbook(file_contents=file.read())
    sheet = file_data.sheet_by_index(0)
    for row in range(sheet.nrows):
        if row == 0:
            continue
        try:
            device_found = Device.objects.get(inventory_number=str(sheet.row_values(row)[2])
        except Device.DoesNotExist:
            device = Device()
            device.name = sheet.row_values(row)[0]
            device.inventory_number = sheet.row_values(row)[2]
        else:
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.01.2020, 23:49
Ответы с готовыми решениями:

Как отобразить программно добавленные данных в тч документа?
при программном заполнении табличной части документа не отображаются данные в тч. Если использовать Функцию Этаформа.Получить(); данные...

Как использовать в launncherToolStripMenuItem добавленные элементы
Как использовать в launncherToolStripMenuItem добавленные элементы C# вот проект смотрите что надо чтоб добавленные...

Как использовать добавленные в DataGridView элементы
Добавляю туда элементы. Как их дальше использовать? Подскажите плиз на этом примере stateMachine = new StateMachine<States,...

4
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.01.2020, 11:29
То есть вьюшка должна вернуть json?
0
0 / 0 / 0
Регистрация: 05.07.2014
Сообщений: 58
09.01.2020, 14:40  [ТС]
да, в json. Приблизительно как выводит DRF
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
09.01.2020, 16:01
Лучший ответ Сообщение было отмечено alex94 как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
result = []
for i in range(1, sheet.nrows):
    inventory_number = str(sheet.row_values(i)[2])
    try:
        d = Device.objects.get(inventory_number=inventory_number)
        result.append({
            'inventory_number': d.inventory_number,
            'id': d.pk,
            #…
        })
    except Device.DoesNotExist:
        d = Device(name=sheet.row_values(i)[0], inventory_number=inventory_number)
        d.save()
return JsonResponse(result)
Или вместо последней строчки, если у вас старая джанга: Настройка встроенного сервера Django
1
0 / 0 / 0
Регистрация: 05.07.2014
Сообщений: 58
10.01.2020, 07:00  [ТС]
Огромное спасибо, очень помогли
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.01.2020, 07:00
Помогаю со студенческими работами здесь

Как удалить элементы добавленные посредством DOM?
Добрый день! Можно добавить элемент при помощи append, html и тд. Но когда эти элементы пытаюсь удалить при помощи remove, они не...

Просмотреть динамически добавленные элементы
Добрый день. Подскажите начинающему с помощью каких инструментов и как я могу увидеть динамически добавленную в браузер HTML разметку. ...

Как считать данные в приложении (kotlin) с rest api? DRF
Ситуация следующая: мне нужно считывать в моё мобильное приложение данные с сайта( в моём случае я взял для обучения этим навыкам сайт rest...

Как получить вычисляемое поле при создании объекта через DRF?
Добрый день, уважаемые. Подскажите, пожалуйста, как мне в методе create создать вычисляемое поле? Ну то есть при получении данных из...

Получать из БД только добавленные элементы, а не каждый раз всю заново (База большая)
суть заключается в следующем, есть таблица в базе данных (около 1 000 000 записей максиму, тоесть может быть и меньше), есть DataTable в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru