I'm considering building my next web app in either Django or Rails because I'm sick of php. Before I jump in though, I was wondering how django handles multicolumn keys. It seems like django is geared more toward keeping separate tables for different types of things and using single column joins between these types, rather than having a highly noramalized database schema. If anyone could respond with problems they've had trying to implement complex schema or (hopefully) tips on how django makes this easy, I'd be interested to hear them.
A quick example: how would I go about implementing something like this in django? Suppose I have users with lists of their favorite websites. I want to allow each user to tag each website, but the tag should only apply for that user. So i need a multicolumn key in my relation. websites: id url users: id name tags: id tag users-tags-websites-relation: user_id tag_id website_id The key for this last table is (user_id,tag_id). I could also foresee situations where I would use a key on 3-tuples, etc. How well is django equipped to handle relationships like this?