nilsFK/py-privatekonomi

Konstruera en builder för modeller-mappad data

nilsFK opened this issue · 0 comments

I core/apps/example3.py skickar vi in True till helper.execute för att indikera att datastrukturen skall byggas upp så att den är formaterad på ett sådant sätt som möjliggör det för py-privatekonomi att enkelt kunna skapa motsvarande innehåll i databasen (varje nyckel i datastrukturen är namnet på en motsvarande model).

Vad vi behöver är en builder av något slag som kan tolka denna datastruktur och skapa motsvarande poster i databasen.

Notera dock att en del modeller är beroende av andra i en sådan datastruktur, så i vilken ordning vi skapar dom är viktigt - vilket vi gör i __persist genom att anropa utilities.models.get_dependency_order.

Mycket av funktionaliteten i example3.py kan flyttas ut till en egen klass som hanterar skapandet utav data till databasen. Den skall även ha möjlighet att buffra upp data i minnet som den sedan kan frigöras till databasen. När vi frigör en modell behöver vi även frigöra samtliga modeller den beror på, för att försäkra att den har all data som den behöver för att persista till databasen.