Django/Postgresql – inserting new record doesn’t return id.

You have an old database and you find the following happens. [cc lang=”python”] >>> ap = ValidAirPressureCode(code=’9′, description=’9′, barcode=’9′, comments=’ 9′) >>> ap.save() >>> ap.id >>> ap = ValidAirPressureCode.objects.get(code=’9′) >>> ap.id 11 [/cc] In short Django doesn’t return the id of a newly inserted record. If you insert records in admin and choose to continue editing, you’ll get an error saying it can’t find a record with a null id. The problem (in my case)…

Continue reading

Converting Legacy Databases to Django 1.3 – Day 0.5

I have done this quite a few times in the past, but not recently. I was given three days to convert an existing postgres database (front ended with Zope) to Django 1.3. I thought it would be useful to document what I did here for my own future reference and to record any gotchas for posterity. The database I am converting is nine years old, so plenty of cruft through the years, although the basic…

Continue reading

Postgres 9.04 on OS X 10.7 Lion

I installed PostgreSQL on my new MacBook Air today via Homebrew. Having installed it I was mystified why I could not connect without specifically specifying the host was localhost. e.g. yes:postgres ian$ psql –list psql: could not connect to server: Permission denied Is the server running locally and accepting connections on Unix domain socket \ “/var/pgsql_socket/.s.PGSQL.5432″? Instead I would have to specify “psql –host=localhost –list”. Turns out that 10.7 has postgres installed by default (or…

Continue reading