query = "SELECT app_crews.id,app_crews.name,B.price,B.amount" \
+ " FROM app_crews" \
+ " LEFT OUTER JOIN" \
+ " (select app_datas.name_id ,sum(app_datas.price) as price ,sum(app_datas.amount) as amount" \
+ " from app_datas" \
+ " where app_datas.date = '{}'".format(Today_date) \
+ " group by app_datas.name_id" \
+ " ) as B" \
+ " ON (app_crews.id = B.name_id )"
test3 = Crews.objects.raw(query)
models.Datas.objects.filter(date=Today_date).values_list('name__name').annotate(price_sum=Sum('price'), ammount_sum=Sum('amount'))
class Crews(models.Model):
name = models.CharField(max_length=256)
age = models.IntegerField()
def __str__(self):
return self.name
class Datas(models.Model):
name = models.ForeignKey(Crews, related_name='datas', verbose_name="担当者")
price = models.IntegerField(verbose_name="金額")
date = models.DateField(default=timezone.now, verbose_name="日付")
time = models.TimeField(auto_now_add = True, verbose_name="時間")
amount = models.IntegerField(verbose_name="数量")
def __str__(self):
return str(self.date)