Now that our directory structure is in order, we need to start dissecting our application script and splitting it up into our module files. We'll also need to create our model class. Open up your abq_data_entry.py
file from Chapter 4, Reducing User Error with Validation and Automation, and let's begin!
When your application is all about data, it's good to begin with the model. Remember that the job of a model is to manage the storage, retrieval, and processing of our application's data, usually with respect to its persistent storage format (in this case, CSV). To accomplish this, our model should contain all the knowledge about our data.
Currently, our application has nothing like a model; knowledge about the application's data is scattered into the form fields, and the Application
object simply takes whatever data the form contains and stuffs it directly into a CSV file when a save operation is requested. Since we aren...