Ofri,There's an officially-sanctioned way to do it which is not far from what you suggest. It's in the docs, too:
http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-usersThe short of it is have one model which stores the "extended user profile data", with:
user = models.ForeignKey(User, unique=True)And then in settings.py have AUTH_PROFILE_MODULE = 'myapp.mymodule.MySuperProfileModel'
If you have any user object, you can do user.get_profile() and it will return the related instance of your extended profile model.
There's also an older post by James Bennett on the subject, but it predates this "official" way so don't get confused.
-I On Sep 1, 2009, at 12:23 PM, ofri raviv wrote:
Hi,I have a question about pluggable apps design: many times, you'd like a new app to add some fields to the basic models you already have. for example, if I have a users app, and i want to add karma (everything good you do on the site gives you good karma points, when you post, when your posts are voted up, etc). it doesn't really matter how the karma app works, in the end, it has to add a karma field to the user model that is already defined in another app.the solution seems to be, add another model, UserKarma, that hasuser = models.OneToOneField(User, primary_key=True, related_name='karma')and then we can use user.karma.foo to access the fields that karma app added.is that a good solution? how is it performance-wise compared to just adding the fields to User?--~--~---------~--~----~------------~-------~--~----~You received this message because you are subscribed to the Google Groups "PyWeb-IL" group.To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/pyweb-il?hl=en -~----------~----~----~----~------~----~------~--~---
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Python-il mailing list [email protected] http://hamakor.org.il/cgi-bin/mailman/listinfo/python-il
