I have a user model with a many to many relationship with itself defined as follows. It uses a friends table as the joining table with a couple of custom fields defined on it -