Уже наверное не актуально, случайно нагуглил тему.
Трюк с наследованием имхо жуткий хак, лучше не юзать.
А так же со вьюшками в базе.. Не самый лучший способ.
Есть же стандартный метод в QSqlTableModel:
Цитата
void QSqlTableModel::setFilter ( const QString & filter ) [virtual]
Sets the current filter to filter.
The filter is a SQL WHERE clause without the keyword WHERE (for example, name='Josephine').
If the model is already populated with data from a database, the model re-selects it with the new filter. Otherwise, the filter will be applied the next time select() is called.
Или и правда, подумайте, может вам лучше использовать QSqlQueryModel