title: Django Getting QuerySet.values() based on condition
body: <p>Let's say I have a model Class <code>Parent</code> and a Class <code>Child</code>. And child has a field called <code>status</code> and a <code>ForeignKey</code> relationship to <code>Parent</code>.</p>
  
  <p>Let's say I retrieve one parent by calling filter (so as to have a QuerySet) by calling <code>p = Parent.objects.filter(pk=1)</code></p>
  
  <p>Now if I call <code>p.values('children__name')</code> I will receive a list of dictionaries of the children names to that parent.</p>
  
  <p>My question is, if I wanted to call <code>p.values('children__name')</code> but limit the values only if the <code>status</code> of the child was specific, how would I do that?</p>
  
  <p>I also want to make sure the original QuerySet is unaltered, as I don't want to filter it down (for larger QuerySets). I just want to filter the values that are based on some parameter. So for example, if I want to list all the parents and children that have a status of 'SICK' then I do not want to call <code>p.filter(children__status='SICK').values('children__name')</code> because that will filter the parents. I wish to still keep all the parents, just have the value of 'children__name' be filtered down to those with a specific status. Does that make sense?</p>
  
  <p>Is there any way to do this in Django?</p>