""" Project: PARTS Website Author: Edward Middleton-Smith Precision And Research Technology Systems Limited Technology: View Models Feature: Dog Dogs View Model Description: Data model for dog dogs view """ # internal from business_objects.dog.dog import Dog, Parameters_Dog from datastores.datastore_dog import DataStore_Dog from models.model_view_dog_base import Model_View_Dog_Base from forms.dog.dog import Filters_Dog # from routes import bp_home from helpers.helper_app import Helper_App import lib.argument_validation as av # external from pydantic import BaseModel from typing import ClassVar class Model_View_Dog_Dog(Model_View_Dog_Base): dogs: list = None form_filters: Filters_Dog = None form_filters_old: Filters_Dog def __init__(self, form_filters_old, hash_page_current=Model_View_Dog_Base.HASH_PAGE_DOG_DOGS): _m = 'Model_View_Dog_Dog.__init__' Helper_App.console_log(f'{_m}\nstarting...') super().__init__(hash_page_current=hash_page_current, form_filters_old=form_filters_old) self._title = 'Dog' self.form_filters = form_filters_old datastore = DataStore_Dog() user_session = datastore.get_user_session() Helper_App.console_log(f'Form filters: {self.form_filters}') parameters_filter_dog = Parameters_Dog.from_form_filters_dog(self.form_filters, user_session.id_user) Helper_App.console_log(f'Query args: {parameters_filter_dog}') self.dogs, errors = datastore.get_many_dog(parameters_filter_dog)