Last modified 2021-03-28.
Time to read: 1 minutes.
djangocollection, categorized under Django-Oscar, PostgreSQL.
A complete set of standard entity relationship diagrams
django-oscar webapps has at least 161 tables.
This is how I counted them:
$ psql -U postgres -h localhost -d frobshop \ -tc "select count(*) as tables from information_schema.tables where table_type = 'BASE TABLE';" 161
I used Dbeaver to create the following entity relationship diagrams of the
There were too many table to examine in one diagram, so I examined them piecemeal.
Update 2021-03-28: When I first saw the table names I could not understand the naming convention.
After having spent some time looking at the source code and playing with the software,
I now believe that a table name is constructed from a Django app name,
concatenated with the corresponding app model's class name, like this:
If a class field joins to another class, the naming convention becomes:
The remainder of this blog post shows most of the 161
Some tables are shown more than once in the interest of clarity.