Are you saying that the "user" entry in the Roommate model is not the user
of the roommate that is described by first_name, last_name, etc. below, but
that of the person's other roommate?

You may not be duplicating the *data* itself (that is, user.first_name is
different from your first_name entry), but you are indeed duplicating the
*structure* of the User model (
http://docs.djangoproject.com/en/dev/topics/auth/#users), which still falls
within Bill's worry about your design. You would be best to represent the
roommate as a user and then extend that to include any additional data you
want by specifying the user's profile (
http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users
).

Michael Schade

On Tue, Jul 20, 2010 at 10:38 AM, reduxdj <patricklemi...@gmail.com> wrote:

> OK, from my example, the model is called Roommate, so I am not
> duplicating any User model data there... So all of the information
> in that model has nothing to do the main user's email or other
> properties.
>
> Thanks for helping, I still don't have an answer from the above. How
> do
> I access the current user's email and name?
>
> On Jul 20, 10:33 am, Bill Freeman <ke1g...@gmail.com> wrote:
> > You don't say what model this is.  Since it doesn't exactly match
> > django.contrib.auth.models, I'm going to guess that you may not
> > be aware that the User model includes first_name, last_name,
> > and email fields of its own.  Having duplicated those fields, are
> > you perhaps becoming confused about where to find things?
> > The typical registration apps usually place this data in the User
> > instance, so if you're looking for it in your instance, you would
> > have had to arrange to copy it everytime something changes it
> > in either model.
> >
> > Duplicating data in one-to-one models (if what I'm looking at is
> > your profile model) isn't likely to win "best practice" accolades.
> >
> > Bill
> >
> > On Tue, Jul 20, 2010 at 10:08 AM, reduxdj <patricklemi...@gmail.com>
> wrote:
> > > HI,
> >
> > > So I tried for an hour or so to access  the current user's first name,
> > > so I can send out a personalized invitation email. That reads, "Hi
> > > Sam, Your friend Charlie wants you to sign up here..." I understand
> > > how to access the user info from context, but how do I do it from
> > > inside one of my models with a user foreign key?
> >
> > > Now, what's funny is I don't know how to access the current user's
> > > first name.  I tried the following.
> >
> > > Thanks for the help!
> >
> > > Here's some code below.
> >
> > >    user =  models.ForeignKey(User)
> > >    first_name = models.CharField(max_length=200)
> > >    last_name = models.CharField(max_length=200)
> > >    email = models.CharField(max_length=200)
> > >    inv_date  = models.DateTimeField(auto_now_add=True)
> > >    is_registered = models.BooleanField()
> >
> > >    #def __unicode__(self):
> > >    #    return self.user.username
> >
> > >    def save(self, *args, **kwargs):
> >
> > >        if send_mail:
> > >            User.get_profile = lambda self:
> > > Profile.objects.get_or_create(user=self)[0]
> > >            current_site = Site.objects.get_current()
> > >            #subject =
> > > render_to_string('roommate_invitation_subject.txt')
> > >            # Email subject *must not* contain newlines
> > >            subject = "Hello..."
> > >            subject = ''.join(subject.splitlines())
> > >            message = render_to_string('roommate_invitation_email.txt',
> > > {'invitee':self.first_name,'inviter': self.user.first_name,'site':
> > > current_site })
> > >            send_mail('Invitation to xxx', message, 'invite_...@xxx',
> > > [str(self.email)])
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups "Django users" group.
> > > To post to this group, send email to django-us...@googlegroups.com.
> > > To unsubscribe from this group, send email to
> django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com>
> .
> > > For more options, visit this group athttp://
> groups.google.com/group/django-users?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To post to this group, send email to django-us...@googlegroups.com.
> To unsubscribe from this group, send email to
> django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>
>

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

Reply via email to