Can you show me how you got it to work? I'd like to learn from this as well.
Cheers.

-Tim


On Tue, Feb 23, 2010 at 8:39 PM, soFh <ahmed...@gmail.com> wrote:

> Well its done finaly.
> i was doing mistake , i was going for a loop on ASt model , while i
> must goto Rates and its working perfect now .
>
>
> On Feb 24, 5:19 am, soFh <ahmed...@gmail.com> wrote:
> > no this function is working fine.here i am just converting seconds
> > into minutes and rounding it to , thts we call 60/60 billing, say if
> > user has called for 4 minutes and 1 sec then it would round up it like
> > 5:00 rather then showing 4:01 and its exactly showing the same.
> > I got my mistake and now just trying to solve it .
> > i have another function minz which is in place of call cost in my data
> > table on my template.
> > DR gave perfect tip though i was doing the same thing but in another
> > way and with a big mistake. Its about length of prefix.
> > i was simply trying to do like a = len(Rates.prefix) and off course it
> > wasn't working.
> > now to match Ast.dst i have to take length of Rates.prefix to match
> > the row but here i am again confused.
> > cause prefix is not fixed number , it could be two it could be three
> > or it could be four .
> > So better i have to take length of prefix to match with Ast.Dst
> > Please see if u can point me where i am doing wrong .
> >
> > def minz(self):
> >                 y = self.billsec/60.0
> >
> >                 #my_prefix = self.dst[:2]
> >                 #my_rate = Rates.objects.get(prefix=my_prefix)
> >                 #if my_rate.prefix == self.dst[:len(my_rate.prefix)]:
> >                 #       rated = my_rate.rate
> >
> >                 for i in Ast.objects.all():
> >                         for x in Rates.objects.all():
> >                                 l=len(x.prefix)
> >                         if x.prefix == i.dst[:l]:
> >                                 rated = x.rate
> >
> >                 if type(y) == float and y > int(y):
> >                         zz = (int(y)+1) * rated
> >                 else:
> >                         zz = rated * y
> >                 return "%.4f" % zz
> >
> > On Feb 24, 4:56 am, Timothy Kinney <timothyjkin...@gmail.com> wrote:
> >
> > > Ok, I think I understand what is going wrong. Look at your minutes
> function
> > > (from dpaste above in the thread):
> >
> > >         def minutes(self):
> > >                 if self.billsec > 0 and self.disposition=='ANSWERED':
> > >                         x = self.billsec/60.0
> > >                         if type(x) == float and x > int(x):
> > >                                 p = (int(x)+1)
> >
> > >                         return "%.2f" % p
> > >                 else:
> > >                         return 0
> >
> > > You are are trying to call self.billsec and self.disposition but this
> > > doesn't hit the
> > > database. You can access the database using a Manager. See:
> http://docs.djangoproject.com/en/dev/topics/db/queries/#topics-db-que...
> >
> > > Especially the part about retrieving specific objects with filters.
> >
> > > To avoid hitting the database more than once, you can rewrite
> > > minutes() to grab all the
> > > records you are interested in (by filtering or just using all() if
> > > that's what you want).
> > > Then you can step through them and calculate your field, putting the
> > > results in a dictionary.
> > > Return the dictionary from minutes and pass this into your template
> > > and it should work.
> >
> > > Hope this helps.
> >
> > > -Tim
> >
> > > On Tue, Feb 23, 2010 at 5:44 PM, soFh <ahmed...@gmail.com> wrote:
> > > > Hi Tim
> > > > Sure
> >
> > > > <table border="1" align="center" >
> > > >    <tr>
> > > >    <th> id </th>
> > > >    <th> caller id </th>
> > > >    <th> dialed Number </th>
> > > >    <th> Call Duration </th>
> > > >    <th> Call Cost </th>
> > > >    <th> Call Date </th>
> > > >    <th> Dest Channel </th>
> > > >    <th> Application </th>
> >
> > > >    {% for call in calls %}
> > > >        <tr>
> > > >                <td>{{ call.id }}</td>
> > > >                <td>{{ call.src }} </td>
> > > >                <td>{{ call.dst }} </td>
> > > >                <td>{{ call.minutes }}</td>
> > > >                <td>{{ call.minz }} </td>    (dtails below)
> > > >                <td>{{ call.calldate }}  </td>
> > > >                <td>{{ call.dstchannel }} </td>
> > > >     </tr>
> >
> > > > here you can see i am using call.minz , while minz is a function in
> > > > models.py under class Ast . in this function it works fine if i put a
> > > > static rate for all records against self.billsec but i want it to
> > > > match with other table from Database . And am not getting if i try to
> > > > call values from 2nd class/table in this function it doesn't work at
> > > > all.
> >
> > > > On Feb 24, 3:30 am, Timothy Kinney <timothyjkin...@gmail.com> wrote:
> > > > > It would help if I could see the template you were using so I could
> see
> > > > how
> > > > > the fields were being filled. Can you paste it?
> >
> > > > > -Tim
> >
> > > > > On Tue, Feb 23, 2010 at 5:04 PM, soFh <ahmed...@gmail.com> wrote:
> > > > > > For More ,
> > > > > > Please visit this snap shot of my template view :
> >
> > > > > >http://173.45.115.106/template.jpg
> >
> > > > > > This will probably clear me , that what i want in my column "call
> > > > > > Cost" in my datatable.
> > > > > > thanks
> >
> > > > > > On Feb 24, 2:47 am, Timothy Kinney <timothyjkin...@gmail.com>
> wrote:
> > > > > > > It sounds like you should have a look at:
> > > > > >http://docs.djangoproject.com/en/dev/ref/templates/
> >
> > > > > > > Instead of rendering straight to html you can structure the
> html as a
> > > > > > > template and then feed your dictionary context in. Then your
> view
> > > > points
> > > > > > to
> > > > > > > the template. If your template was called test.html then it
> would
> > > > > > probably
> > > > > > > work.
> >
> > > > > > > -Tim
> >
> > > > > > > On Tue, Feb 23, 2010 at 4:35 PM, soFh <ahmed...@gmail.com>
> wrote:
> > > > > > > > my prefix could be changed and hence its length too ,
> > > > > > > > so let me show you what i did to get the price from Rates
> table
> > > > > > > > against prefix used in Ast.dst
> >
> > > > > > > > from cdr.cdrs.models import Ast,Rates
> > > > > > > > price=0
> > > > > > > > for i in Ast.objects.all():
> > > > > > > >        for x in Rates.objects.all():
> > > > > > > >                l = len(x.prefix)
> > > > > > > >                if x.prefix == i.dst[0:l]:
> > > > > > > >                price = x.rate
> > > > > > > >      cost = price * i.billsec
> >
> > > > > > > > it gives me what i want ..but its on interactive console :$ i
> am
> > > > > > > > really not getting where should i deploy it in my view to
> show this
> > > > > > > > calculation (cost of call ) .
> > > > > > > > cause in my view i am just using it like this :
> >
> > > > > > > > def mytest(request):
> >
> > > > > > > >        cdr_table = Rates.objects.all()
> > > > > > > >        return render_to_response('clients/test.html',
> > > > > > > > {"calls":cdr_table,},context_instance
> =RequestContext(request))
> >
> > > > > > > > now in html table defined in test.html i can see all the data
> > > > coming
> > > > > > > > in table Ast . But how i add a column in that html table
> having
> > > > cost
> > > > > > > > of each call as i got in my console.
> >
> > > > > > > > thanks for your help
> >
> > > > > > > > On Feb 24, 2:16 am, Daniel Roseman <dan...@roseman.org.uk>
> wrote:
> > > > > > > > > On Feb 23, 9:10 pm, soFh <ahmed...@gmail.com> wrote:
> >
> > > > > > > > > > Well i was already  thinking that i am not so clear in my
> > > > question.
> > > > > > > > > > so better let me post my model and what i want here .
> >
> > > > > > > > > >http://dpaste.com/163776/
> >
> > > > > > > > > > sorry I missed by mistake "C" of class Rates while
> pasting it
> > > > on
> > > > > > > > > > dpaste.
> >
> > > > > > > > > > Anyways there are two models.
> > > > > > > > > > there is one field billsec in model named "Ast" which is
> > > > duration
> > > > > > of
> > > > > > > > > > call. there is one field named "dst" which is "dialed
> Number "
> > > > .
> > > > > > > > > > What i want is is to compare this dialed number by the
> prefix
> > > > given
> > > > > > in
> > > > > > > > > > Rates Model and then multiply that Rate with duration to
> show
> > > >  the
> > > > > > > > > > cost of call.
> > > > > > > > > > hope i am bit  clear now .
> > > > > > > > > > Thanks in advance for any tip..
> > > > > > > > > > regards
> >
> > > > > > > > > I don't see where you are having a problem. Your logic, as
> you
> > > > give
> > > > > > it
> > > > > > > > > above, is quite clear:
> >
> > > > > > > > >     my_prefix = my_ast.dst[:5] # or however long the prefix
> is
> > > > > > > > >     my_rate = Rate.objects.get(prefix=my_prefix)
> > > > > > > > >     cost = my_rate.rate * my_ast.billsec
> >
> > > > > > > > > --
> > > > > > > > > DR.
> >
> > > > > > > > --
> > > > > > > > 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+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com>
> <django-users%2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com>
> >
> > > > <django-users%2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com>
> <django-users%252bunsubscr...@googlegroups.com<django-users%25252bunsubscr...@googlegroups.com>
> >
> >
> > > > > > <django-users%2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com>
> <django-users%252bunsubscr...@googlegroups.com<django-users%25252bunsubscr...@googlegroups.com>
> >
> > > > <django-users%252bunsubscr...@googlegroups.com<django-users%25252bunsubscr...@googlegroups.com>
> <django-users%25252bunsubscr...@googlegroups.com<django-users%2525252bunsubscr...@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<django-users%2bunsubscr...@googlegroups.com>
> <django-users%2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com>
> >
> > > > <django-users%2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@googlegroups.com>
> <django-users%252bunsubscr...@googlegroups.com<django-users%25252bunsubscr...@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<django-users%2bunsubscr...@googlegroups.com>
> <django-users%2bunsubscr...@googlegroups.com<django-users%252bunsubscr...@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<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