From: | Daniele Varrazzo <daniele(dot)varrazzo(at)gmail(dot)com> |
---|---|
To: | "Peter J(dot) Holzer" <hjp-pgsql(at)hjp(dot)at> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Recomended front ends? |
Date: | 2019-08-27 15:04:02 |
Message-ID: | CA+mi_8ZZPY4v8ic_XEOdQiT7V48A8hOvaW1cPEB5b6+icTTnrQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sun, Aug 11, 2019 at 7:49 PM Peter J. Holzer <hjp-pgsql(at)hjp(dot)at> wrote:
> Django lets you use "unmanaged" tables, but it is quite noticeable that
> this isn't the primary use case.
It isn't, but it's the best way to use Django for database-literate
people. It's enough to ignore the Django sale pitch of the database as
a replaceable element and just assume Postgres. In Docker times you
don't need SQLite to create a poorly representative "development
database".
You can just ignore the Django ORM for the whole data-definition layer
and migrations: you can have your database schema, with comments, in
your source code, with strict control of what's in the db (exotic
index definitions, exclusion constraints, writable views...) and only
use the ORM to read and manipulate data, as long as the Django model
"resembles" the database table.
Schema migrations are easy to deal with using SQL patches [1], and
complete, unlike any Model-based migration system.
Using the Django ORM to create complex queries is a joy (especially
nesting subqueries), and you don't lose all the other Django
facilities (decent auth model, decent CRUD interface, customisation
when "decent" is not enough).
[1] https://gist.github.com/dvarrazzo/4161070
-- Daniele
From | Date | Subject | |
---|---|---|---|
Next Message | Jeff Janes | 2019-08-27 15:14:24 | Re: [ext] Re: Pointers towards identifying bulk import bottleneck (walwriter tuning?) |
Previous Message | Adrian Klaver | 2019-08-27 14:58:05 | Re: Include a connection pooler in Postgres |