I have a query that outputs data in the following format:
[["W/E 6/11/17", "Carter, J", 40.0],
["W/E 6/18/17", "Carter, J", 40.0],
["W/E 6/11/17", "Linn, K", 27.0],
["W/E 6/18/17", "Linn, K", 27.0],
["W/E 6/11/17", "Massey, S", 55.0],
["W/E 6/18/17", "Massey, S", 45.0]]
My query:
emp3 = (
Projectsummaryplannedhours.objects.values(
'employeename', 'displayval')
.order_by()
.filter(businessunit='a')
.filter(billinggroup__startswith='PLS - Pip')
.filter(Q(displayval=sunday2)|Q(displayval=sunday))
.annotate(plannedhours__sum=Sum('plannedhours'))
)
In my template, I'm currently using a for loop, but it returns all items in the list, rather than just the first list of lists.
{% for x in emp3 %}
{{x.employeename}}
{{x.plannedhours__sum}}
What I would like to do is iterate through the list and display Employee: Value for W/E 6/11, Value for W/E 6/18 in a horizontal form.
Model:
class Projectsummaryplannedhours(models.Model):
number = models.CharField(db_column='Number', max_length=50, blank=True, null=True) # Field name made lowercase.
description = models.CharField(db_column='Description', max_length=100, blank=True, null=True) # Field name made lowercase.
clientname = models.CharField(db_column='ClientName', max_length=100, blank=True, null=True) # Field name made lowercase.
department = models.CharField(db_column='Department', max_length=50, blank=True, null=True) # Field name made lowercase.
billinggroup = models.CharField(db_column='BillingGroup', max_length=50, blank=True, null=True) # Field name made lowercase.
businessunit = models.CharField(db_column='BusinessUnit', max_length=50, blank=True, null=True) # Field name made lowercase.
employeename = models.CharField(db_column='EmployeeName', max_length=50, blank=True, null=True) # Field name made lowercase.
displayval = models.CharField(db_column='DisplayVal', max_length=50, blank=True, null=True) # Field name made lowercase.
startofweek = models.DateTimeField(db_column='StartOfWeek', blank=True, null=True) # Field name made lowercase.
endofweek = models.DateTimeField(db_column='EndOfWeek', blank=True, null=True) # Field name made lowercase.
plannedhours = models.DecimalField(db_column='PlannedHours', max_digits=10, decimal_places=5, blank=True, null=True) # Field name made lowercase.
rateschedule = models.CharField(db_column='RateSchedule', max_length=50, blank=True, null=True) # Field name made lowercase.
classification = models.CharField(db_column='Classification', max_length=50, blank=True, null=True) # Field name made lowercase.
dollarsforecast = models.DecimalField(db_column='DollarsForecast', max_digits=10, decimal_places=5, blank=True, null=True) # Field name made lowercase.
deleted = models.NullBooleanField(db_column='Deleted') # Field name made lowercase.
datelastmodified = models.DateTimeField(db_column='DateLastModified', blank=True, null=True) # Field name made lowercase.
datecreated = models.DateTimeField(db_column='DateCreated', blank=True, null=True) # Field name made lowercase.
Updated Query:
emp3_list = Projectsummaryplannedhours.objects.values('employeename', 'displayval').order_by().filter(businessunit='a').filter(billinggroup__startswith='PLS - Pip').filter(Q(displayval=sunday2)|Q(displayval=sunday)).annotate(plannedhours__sum=Sum('plannedhours'))
emp3 = map(lambda x: {'date': x[0], 'employee_name': x[1], 'planned_hours': x[2]}, emp3_list)
Every query I have tried:
def DesignHubR(request):
#emp1 = Projectsummaryplannedhours.objects.filter(employeename__startswith='Linn').values_list('endofweek').annotate(plannedhours__sum=Sum('plannedhours'))
day = datetime.datetime.today()
start = day - timedelta(days=day.weekday())
s1 = start + timedelta(days=6)
day2 = day + + timedelta(days=7)
start2 = day2 - timedelta(days=day.weekday())
s2 = start2 + timedelta(days=6)
sunday = datetime.datetime.strftime(s1, "W/E %#m/%#d/%y")
sunday2 = datetime.datetime.strftime(s2, "W/E %#m/%#d/%y")
employee = Projectsummaryplannedhours.objects.order_by().values_list('employeename', flat=True).distinct().filter(businessunit='a').filter(billinggroup__startswith='PLS - Pip')
emp1 = Projectsummaryplannedhours.objects.values_list('displayval', 'employeename').filter(businessunit='a').filter(billinggroup__startswith='PLS - Pip').filter(displayval=sunday).annotate(plannedhours__sum=Sum('plannedhours'))
emp4 = Projectsummaryplannedhours.objects.filter(employeename__startswith='Linn').filter(Q(displayval=sunday2)|Q(displayval=sunday)).annotate(plannedhours__sum=Sum('plannedhours'))
emp2 = Projectsummaryplannedhours.objects.values_list('displayval', 'employeename').filter(businessunit='a').filter(billinggroup__startswith='PLS - Pip').filter(Q(displayval=sunday2)|Q(displayval=sunday)).annotate(plannedhours__sum=Sum('plannedhours'))
emp3_list = Projectsummaryplannedhours.objects.values_list('displayval', 'employeename').filter(businessunit='a').filter(billinggroup__startswith='PLS - Pip').filter(Q(displayval=sunday2)|Q(displayval=sunday)).annotate(plannedhours__sum=Sum('plannedhours'))
emp3 = map(lambda x: {'date': x[0], 'employee_name': x[1], 'planned_hours': x[2]}, emp3_list)
context = {'emp1': emp1, 'emp2': emp2, 'sunday2': sunday2, 'employee': employee, 'emp3': emp3, 'emp4': emp4}
return render(request,'department_hub_ple.html', context)