Next training : 9 and 10 february 2012
- Language : English
- Location : Python Academy, Leipzig, Germany
- Registration : download the registration form
SQLAlchemy Training
SQLAlchemy is THE object relational mapper used in the Python world. It provides a full suite of well known enterprise-level persistence patterns, designed for efficient and high-performing database access, adapted into a simple and Pythonic domain language.
This practical course will make sure you understand the concepts behind SQLAlchemy. We will focus on practical patterns of SQLAlchemy usage and see how its use can grow from very simple to more advanced.
This practical course will make sure you understand the concepts behind SQLAlchemy. We will focus on practical patterns of SQLAlchemy usage and see how its use can grow from very simple to more advanced.
- Get to know SQLAlchemy : We will start with an overview of the terminology used in SQLAlchemy, such as drivers, connectors, engines, metadata, sessions, tables and mappers.
- Simple statements : An overview of how the basic SQL statements can be generated from SQLAlchemy and how SQLAlchemy can simplify our life when we need to write those statements.
- Simple ORM : Set up an object relational mapping and experiment with the life cycle an object goes through when it is mapped by SQLAlchemy to the database. This can be be done using plain SQLAlchemy or Declarative or Elixir.
- SQLAlchemy Philosophy : Next we need to understand a bit of the philosophy behind SQLAlchemy and to study its different usage patterns. Know what is possible with SQLAlchemy and where to look for in its documentation. This will help us when being faced with more advanced topics
- Advanced statements : See how SQLAlchemy allows us to keep even advanced database usage reasonably simple and experience the true power of SQLAlchemy.
- ORM and relations : Experience how relations between mapped objects behave and look at the options both the database and SQLAlchemy offer.
Advanced ORM Experiment with non trivial mapping issues, such as inheritance, arbitrary selects and arbitrary relations. In this part we will also study the use of transactions in combination with the ORM.
Camelot Training
Camelot is a framework for developing desktop database applications at warp speed. It is to desktop applications what Django is to web applications. Some see it as a replacement for MS Access, but its tight integration with SQLAlchemy enables a vast amount of more advanced features and possibilities.
This tutorial style course will enable you to get started with your own Camelot project. We will tackle the hurdles met when going through the lifecycle of a desktop application
This tutorial style course will enable you to get started with your own Camelot project. We will tackle the hurdles met when going through the lifecycle of a desktop application
- First Example : We start our little Camelot project, have a look at the concepts and terminology used within Camelot. We go through the different parts of the application and look at the possibilities to customize them.
- Declarative Models and Views : Then we move on by defining a relational model and use introspection together with a declarative definition of our view to generate table and form views. We look at the various options that can be used to create and reuse form and table definitions.
- Actions and Reports : Next we'll dive into the details of actions the user can trigger, we discuss and experiment with the standard actions Camelot offers. One of those actions can be the generation of a nicely formatted Word document.
- Advanced Model Definition : Once an application grows, more advanced model definition is needed. We will try out some advanced features of SQLAlchemy and see how they interact with the graphical interface.
- Fine tuning of the GUI : Here we have a look at how Qt's model-view-delegate framework works and how it is used by Camelot. This will enable us to fully customize the graphical interface to our needs.
- Deployment and Users : The last step of the development process is getting the application to the users. We will discuss the deployment options and list the things to be aware of when submitting an application to its users.
- Q & A : Throw all Camelot questions you have in the group and try to resolve them together.