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

Losing focus on Windows 7

I came across an irritating issue on my Windows 7 machine. Something would keep tacking focus from me. As I spend a lot of time in a full screen Ubuntu virtual machine under VMWare, this was amazingly annoying but I just couldn’t track it down. Eventually a suggestion from Simon Bisson that iTunes had a reputation for doing such things put me on the right track. I don’t have iTunes on Windows but I did…

Continue reading

Python development with virtualenvwrapper, django, buildout and mercurial – a basic example

I have been trying to streamline my python development processes over the years. Earlier this year @rossjones introduced me to virtualenvwrapper which made things even simpler. I’m about to go into quite a concentrated period of development so I thought I’d take the opportunity to document what I do to make an easily reproduceable python environment. Please let me know of any errors or suggestions for better ways of doing this as I go along.…

Continue reading