Wednesday, September 28, 2011

Re: Best practices to create multiple users profiles using Auth

Thank you Ryan. I'll read it. Seems interesting.

On Sep 27, 10:30 am, ryan west <ryanis...@gmail.com> wrote:
> I actually just wrote a blog post about why I think extending
> contrib.auth.models.User is a better solution to using a OneToOneField
> (or a ForeignKey), you can find it here:
>
> http://ryanwest.info/blog/2011/django-tip-5-extending-contrib-auth-mo...
>
> Please let me know what you think.
>
> Regards,
>
> Ryan
>
> On Sep 27, 5:13 am, SantiagoBasulto<santiago.basu...@gmail.com>
> wrote:
>
>
>
>
>
>
>
> > Hello friends,
>
> > i'm new with django. I've something to ask you.
>
> > I'm building a website similar to eBay where i've different "kinds" of
> > users. These are: CustomerUser and SellerUser. Both of them has
> > different data to be saved.
>
> > While reading docs and django book i noted the UserProfile
> > "trick" (https://docs.djangoproject.com/en/1.3/topics/auth/#storing-
> > additional-information-about-users) to store additional info about my
> > users. The problem is that i've two different users, not just one.
>
> > I'm wondering what would be the best choice. I've think that i could
> > use some inheritance, keeping the UserProfile strategy.
>
> > class UserProfile(models.Model):
> >     # some common data
> >     user = models.OneToOneField(User)
>
> > class Seller(UserProfile):
> >     #specific Seller data
>
> > class Customer(UserProfile):
> >     #specific Customer data
>
> > I tried to make that work, but i coulnd. I ran into several errors.
>
> > After that i thought i could include oneToOne info in the UserProfile,
> > similiar to:
>
> > class UserProfile(models.Model):
> >     is_seller = models.BooleanField()
> >     is_customer = models.BooleanField()
> >     seller_info = models.OneToOneField(SellerInfo)
> >     customer_info = models.OneToOneField(CustomerInfo)
> >     user = models.OneToOneField(User)
>
> > class SellerInfo(models.Model):
> >     #specific Seller data
>
> > class CustomerInfo(models.Model):
> >     #specific Customer data
>
> > I think this should work, but also think that would be a "weird and
> > ugly" solution.
>
> > Have you expirienced this kind of problem? Can you help me with some
> > idea please?
>
> > Thank you very much!

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment