On Mon, Feb 11, 2013 at 10:05 AM, frocco <faro...@gmail.com> 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 <far...@gmail.com> 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: mkaur...@gmail.com >>> Blog: sandymadaan.wordpress.com >>> >> > > There is only such a thing as a current user during a request. The view knows the request. The request can be known in template context if the view allows it (e.g.; uses a request context). Any model method that depends on information from the request (like request.user) needs to be passed that information as an argument). While you can't pass an argument to a method being called using vanilla template syntax, you could write a custom template tag, allowing, for example {% get_user_specific_price model_instance %} . (Tags have access to the context, so you need not pass it explicitly. Your view would still need to add request or request.user to the context, unless you use a suitable template context processor to do so.)
Bill -- 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 django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users?hl=en. For more options, visit https://groups.google.com/groups/opt_out.