Пожалуйста, будьте терпеливы со мной, так как это немного субъективный вопрос, но я после информированного передового опыта в отношении вероятной ситуации.
У меня есть данные, разбитые на несколько (sqlite) таблиц, которыми я являюсьиспользуя Qt для манипулирования.Представление (sql) - это один из способов отображения данных из нескольких таблиц, но я также хочу иметь возможность обновлять значения.Давайте рассмотрим пример из трех таблиц, используя, скажем, дома.Три таблицы связаны между собой внешними ключами, например, таблицей областей, таблицей домов и таблицей мебели.Существует отношение 1: многие, связанные с внешними ключами: Область: Дом, Дом: Мебель Я хотел бы, чтобы элемент пользовательского интерфейса с областями заполнял элемент пользовательского интерфейса дома, который, в свою очередь, заполняет элемент мебельного интерфейса.Под элементом пользовательского интерфейса я имею в виду что-то вроде редактируемого списка или серии lineEdits / Spinners (зависит от типа значения), что-нибудь действительно.
просто для пояснения, я понимаю, как использовать qsqlrelationaltablemodel и qsqlrelationdelegate.Они работают нормально, когда я обновляю одну таблицу, но не обновляют представление (sql), созданное из объединений в нескольких таблицах.Мне нужно решение, которое позволяет мне эффективно работать с данными из нескольких таблиц, включая обновление значений.
Должен ли я делать это с тремя моделями, обновляя фильтр для каждой и используя представление, связанное с каждой моделью?Или, может быть, я мог бы вставить все в одну модель дерева?Или мне стоит заняться созданием пользовательской модели или, возможно, просто не использовать модель / представление и вручную заполнять пользовательский интерфейс?
Я пытался использовать несколько моделей в одной базе данных в качестве эксперимента некоторое время назад, и они не сделали этого.не ведите себя так хорошо, как я надеялся.Это основная причина, по которой я спрашиваю о наилучшей практике.
Большое спасибо за любые советы, которые вы можете предложить.