Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 6, 2019 12:05:23

MaratD
Зарегистрирован: 2016-01-25
Сообщения: 138
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с базами данных

Здравствуйте.
Поделитесь знаниями и опытом, пожалуйста.
Имеется программа, которая использует PySide2 и работает с SqlLite. Данные БД отображаются в QTableWidget. После редактирования таблицы идет запись в БД. Возможно перейдем на PostreSql и QTableView. Правильнее ли работать с БД через модели и представления?
Спасибо.

Офлайн

#2 Сен. 6, 2019 13:47:24

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Работа с базами данных

Ваш вопрос не вполне понятен, дам общую рекомендацию.
Приложение лучше разбить на слои - слой данных, слой представления, слой бизнес-логики, слой контроллеров и т.д. Таким образом, чтобы отдельные слои могли обращаться друг к другу только используя API слоя, ничего не зная о его внутреннем устройстве. Например:

Плохо

  
def view():
url = "my_service.com"
sql = "select * from table"
data = get_data(sql)
send(url, data)

лучше

  
def view():
service = MyService()
dataProvider = DataProvider()
service.send(dataProvider.get_data())



Офлайн

#3 Сен. 9, 2019 14:18:30

MaratD
Зарегистрирован: 2016-01-25
Сообщения: 138
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с базами данных

Здравствуйте.
Я имею ввиду, в каких случаях лучше использовать подход ModelView вместо стандартного? Насколько это оправдано?

Офлайн

#4 Сен. 9, 2019 14:29:08

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2679
Репутация: +  182  -
Профиль   Отправить e-mail  

Работа с базами данных

> Я имею ввиду, в каких случаях лучше использовать подход ModelView вместо стандартного?

ModelView никакого отношения к БД не имеет. Это просто более низкоуровневый способ взаимодействия с виджетом который позволяет более гибко им управлять. Если ты просто выводишь какие то записи, то ModelView тебе не нужен, но если например пользователь вводит через виджет свои данные, то он тебе понадобится.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#5 Сен. 10, 2019 12:23:06

MaratD
Зарегистрирован: 2016-01-25
Сообщения: 138
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с базами данных

Спасибо.
Можете дать примеры работы ModelView в Python с какой-нибудь БД?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version