Найти - Пользователи
Полная версия: Работа с базами данных
Начало » Центр помощи » Работа с базами данных
1
MaratD
Здравствуйте.
Поделитесь знаниями и опытом, пожалуйста.
Имеется программа, которая использует PySide2 и работает с SqlLite. Данные БД отображаются в QTableWidget. После редактирования таблицы идет запись в БД. Возможно перейдем на PostreSql и QTableView. Правильнее ли работать с БД через модели и представления?
Спасибо.
FishHook
Ваш вопрос не вполне понятен, дам общую рекомендацию.
Приложение лучше разбить на слои - слой данных, слой представления, слой бизнес-логики, слой контроллеров и т.д. Таким образом, чтобы отдельные слои могли обращаться друг к другу только используя 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())
MaratD
Здравствуйте.
Я имею ввиду, в каких случаях лучше использовать подход ModelView вместо стандартного? Насколько это оправдано?
Rodegast
> Я имею ввиду, в каких случаях лучше использовать подход ModelView вместо стандартного?

ModelView никакого отношения к БД не имеет. Это просто более низкоуровневый способ взаимодействия с виджетом который позволяет более гибко им управлять. Если ты просто выводишь какие то записи, то ModelView тебе не нужен, но если например пользователь вводит через виджет свои данные, то он тебе понадобится.
MaratD
Спасибо.
Можете дать примеры работы ModelView в Python с какой-нибудь БД?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB