Django does come with a convenient database abstraction layer (DBAL) but unfortunately this DBAL is not very talkative. In case you get an error messages along the lines of ValueError: "<FooClass>" needs to have a value for field "fooclass" before this many-to-many relationship can be used.