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

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

08.01.2020, 23:49. Показов 1416. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru