Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
11 / 10 / 4
Регистрация: 08.09.2014
Сообщений: 206

Как сохранить запись в БД, используя словарь

03.06.2022, 23:57. Показов 2195. Ответов 6

Студворк — интернет-сервис помощи студентам
Есть таблица, в которой много столбцов. Данные, которые надо сохранить в таблице, заданы в виде словаря, где ключи - это имена столбцов. Как это можно сделать? Перерыл много сайтов, но ничего подобного не нашел.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.06.2022, 23:57
Ответы с готовыми решениями:

Как используя django выборочно отобразить запись из базы данных на странице?
Допустим, есть две кнопки, названия которых соответствуют названиям полей в базе данных. Как сделать так, что бы при нажатии на кнопку на...

Как записать данные в БД, используемую в django, из файла?
Здравствуйте. Подскажите, какой самый простой и правильный способ записать данные в таблицу БД, которая используется в Django-проекте?...

Словарь из имени пользователя и сумма за ним закрепленная, создаем новый пустой словарь , чтобы туда сохранить изменения
UserName = {'Vasya':500, 'Misha':500, 'Kolya':500, 'Petya':500, 'Oleg':500} new_Users ={} print(UserName) def pushCash(): ...

6
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.06.2022, 00:11
Если это вопрос в контексте Django, то почему данные в словаре, а не в модели, а если нет, то почему тема в Django?
0
11 / 10 / 4
Регистрация: 08.09.2014
Сообщений: 206
04.06.2022, 00:23  [ТС]
Естественно, структура таблицы определена в модели, но сама запись формируется из парсинга информационного сайта. Ключи словаря совпадают с именами полей в модели. И ее надо поместить в таблицу или обновить в таблице аналогичную запись
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.06.2022, 01:27
Тогда нужно создать экземпляр модели на основе спаршенных данных и оперировать БД через модель, а не напрямую. Если писать напрямую в базу, то смысл встроенного ORM теряется.
0
11 / 10 / 4
Регистрация: 08.09.2014
Сообщений: 206
04.06.2022, 01:33  [ТС]
А если колонок штук 40? Например,
Python
1
2
3
4
5
class Site(models.Model):
    nam = models.CharField(max_length=50)
    dat = models.CharField(max_length=12)
    pre = models.CharField(max_length=40)
    pos = models.CharField(max_length=20)
и сформирован словарь
Python
1
Site = {'nam': 'xxxxx', 'dat': 'yyyyyy', 'pos': 'zzzzzzz'}
и вот надо этот словарь сохранить в таблице.
0
Эксперт по компьютерным сетям
 Аватар для Jabbson
5907 / 3359 / 1036
Регистрация: 03.11.2009
Сообщений: 10,008
04.06.2022, 01:47
Лучший ответ Сообщение было отмечено gregsuslov как решение

Решение

Python
1
2
3
4
class AdsModel():
    def __init__(self, d):
        for k, v in d.items():
            setattr(self, k, v)
или вот так, но лучше первым способом
Python
1
2
3
class AdsModel():
    def __init__(self, d):
        self.__dict__.update(d)
Python
1
2
ad1 = AdsModel({'title': 'first ad', 'body': 'garlic for sale', 'price': 1.22})
ad2 = AdsModel({'title': 'second ad', 'body': 'escort services', 'price': 12.34})
0
11 / 10 / 4
Регистрация: 08.09.2014
Сообщений: 206
04.06.2022, 02:04  [ТС]
Вот спасибо. Совсем забыл о волшебной функции setattr()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2022, 02:04
Помогаю со студенческими работами здесь

В файле input.txt хранится англо-русский словарь. Создать русско-английский словарь и сохранить его в отсортированном ви
пример input.txt apple – лесть, яблоко soap – лесть, мыло foam – мыло, пена output.txt лесть – apple, soap мыло – foam,...

Как сохранить словарь?
Как сохранить словарь в файл и потом его загрузить в том же самом виде?

Как сохранить простой словарь?
У меня есть обычный простой словарь Dictionary <int , string>. Нужно сохранить. На просторах интернета весьма мудренные способы (но у...

Как сохранить в словарь данные из файла?
Есть вот такой файл QWE 1000 DFG 1500 DSAQ 3000 TYUW 9000 ... и так далее

Как сохранить словарь в формате txt
Здравствуйте, подскажите пожалуйста как сохранить словарь в формате txt


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru