Before I posted my code, I formatted them carefully on wordpad.
However, they became so messy after I posted them.

Is it possible to do anything to clear such a problem?  just wondering
this.






On Jul 13, 5:15 pm, David <ww...@yahoo.com> wrote:
> Hi Karen,
>
> Thanks for your long reply. Though this problem has been solved
> (Thanks to all for your replies, especially Sam), let me explain a
> little more.
>
> The 2nd for loop is actually an embedded loop in the 1st for loop.
> From the 1st loop I retrieve some values, and use these values (as
> "model instance") to retrieve other values in the 2nd for loop.  This
> logic is clear. And with Sam's help, I have got all those values that
> I wanted.
>
> I should say that the bad format in my original post should be blamed
> for this confusion. I noticed that you put the 2nd for loop outside
> the first for loop. This is not what I wanted.
>
> Thanks again.
>
> On Jul 13, 4:52 pm, Karen Tracey <kmtra...@gmail.com> wrote:
>
>
>
> > On Mon, Jul 13, 2009 at 5:36 PM, David <ww...@yahoo.com> wrote:
>
> > > Thanks Amit. Here is the problem that I meet.
>
> > > alerts = Alert.objects.filter((Q(dataset=dataset1)
>
> > > for eachalert in alerts:
> > >    e_metric1 = eachalert.criteria1_metric1
>
> > > Django complains that there is no such item "criteria1_metric1" in
> > > Alert class. This is correct as Alert class does not have such an
> > > item. The "criteria1_metric1" is a variable here that has a value. And
> > > this value is an item in the Alert class.
>
> > What do you mean "this value is an item in the Alert class"?  Items in the
> > Alert class are model instances which presumably have a set of different
> > field values.  So I can't figure out what you by this sentence.
>
> > > How to let Django know that the "criteria1_metric1" is a variable
> > > instead of a class item (table column)?
> > > Thanks again.
>
> > The code you originally posted, reformatted to not wrap somewhat randomly
> > and removing the long strings of dots and line number is:
>
> > alertcriteria1 = Alert_Criteria1.objects.all()
> > for eachcriterion in alertcriteria1:
> >     dataset1 = eachcriterion.dataset
> >     criteria1_metric1 = eachcriterion.criteria1_metric1
> > alerts = Alert.objects.filter(Q(dataset = dataset1))
> > for eachalert in alerts:
> >     e_metric1 = eachalert.criteria1_metric1
>
> > First you loop through all of the Alert_Criteria1 objects.  In that loop you
> > set a couple of variables, dataset1 and criteria1_metric1.  As written,
> > these are local variables in your function.  The loop seems pretty pointless
> > as at each iteration of the loop you simply overwrite the local variable
> > values from the last iteration.  So on exit from the loop these two
> > variables will have values from the last item in
> > Alert_Criteria1.objects.all().  The values from all of the other
> > Alert_Criteria1 objects have not been saved anywhere.
>
> > Then you loop through a different set of objects, Alert.  And you try to set
> > a local variable, e_metric1, to be the value of the 'criteria1_metric1'
> > attribute of the current loop iteration's Alert model instance.  But you say
> > that you know 'criteria1_metric!1' is not an attribute of an Alert, rather
> > you want what you set back up in the first loop.  If that was what you
> > really wanted, your line of code would be:
>
> >     e_metric1 = criteria1_metric1
>
> > But I don't think that can be what you really want because it would be
> > pretty pointless to set the value of one local variable to be equal to while
> > looping over a set of objects.  That line of code would have nothing to do
> > with the objects you are iterating over.
>
> > If you could take a step back and explain what it is at a high level that
> > you are trying to do, someone may be able to help.  As it is I suspect your
> > code is nowhere near doing what you are looking for, and solving the exact
> > attribute error or whatever it is you are seeing now is not really going to
> > get you any closer to whatever it is you are trying to achieve.
>
> > Karen- Hide quoted text -
>
> - Show quoted text -
--~--~---------~--~----~------------~-------~--~----~
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
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to