Thanks Brad,

I got it working.

@register.filter(name='price')
def price(model, user):
    u = UserGroup.objects.get(user_id=user.id)
    level = u.price_level
    if level == 'B':
        return model.price_b
    if level == 'C':
        return model.price_c
    if level == 'D':
        return model.price_d
    if level == 'E':
        return model.price_e
    return model.price_a

{{ row|price:request.user }}

On Monday, February 11, 2013 10:54:53 AM UTC-5, Brad Pitcher wrote:
>
> Sounds like you are maybe calling a user method from a template? You 
> will probably want to create a custom tag or filter: 
> https://docs.djangoproject.com/en/1.4/howto/custom-template-tags/ 
>
> A filter would look like this: 
> {{ my_model_item|price:request.user }} 
>
> And the filter itself something like this: 
>
> def price(my_model_item, user): 
>     """Returns the price for the user""" 
>     # Logic to evaluate the price could be here on in a 
>     # model method, but if it's in the model method you 
>     # will need to pass the user as a parameter to that 
>     # method. 
>     return evaluated_price 
>
> On Mon, 2013-02-11 at 07:05 -0800, frocco wrote: 
> > What I am trying to do, is I have four price fields in my model and 
> > need to return just one based on current user logged in. 
> > 
> > 
> > price_a 
> > price_b 
> > price_c 
> > price_d 
> > 
> > 
> > I want to always return a field named price, based on one of those 
> > fields. 
> > 
> > On Monday, February 11, 2013 9:51:47 AM UTC-5, frocco wrote: 
> >         Ok, but is request available in models.py? 
> >         
> >         
> >         On Monday, February 11, 2013 9:49:47 AM UTC-5, sandy wrote: 
> >                 On Mon, Feb 11, 2013 at 7:42 PM, frocco 
> >                 <[email protected]> wrote: 
> >                 > Hello, 
> >                 > 
> >                 > I have some logic I want to put in a model, but it 
> >                 requires know the current 
> >                 > user logged in. 
> >                 > Is there a way to get this? 
> >                 > 
> >                 This gets the current logged in user : 
> >                 
> >                 current_user = request.user 
> >                 
> >                 -- 
> >                 Sandeep Kaur 
> >                 E-Mail: [email protected] 
> >                 Blog: sandymadaan.wordpress.com 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> > Groups "Django users" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> > an email to [email protected] <javascript:>. 
> > To post to this group, send email to 
> > [email protected]<javascript:>. 
>
> > Visit this group at http://groups.google.com/group/django-users?hl=en. 
> > For more options, visit https://groups.google.com/groups/opt_out. 
> >   
> >   
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to