想一想: 这是一个函数,
def calculate(model):
model.tempfield = 1
并且此函数将在此模型中保存临时字段 你可以在任何地方使用model.tempfield 但是如果它是一个查询集,那么在order_by之后这些临时文件将丢失
如何在queryset中使用这些临时字段来命令?
我有2个型号:
Class A(models.Model):
name = models.CharField(maxlength=100)
Class Log_Of_A(models.Model):
clicks = models.IntegerField()
a = models.ForeignKey(A)
date = models.DateField(db_index=True)
并按日期计算A的日志
def createlog(request):
start = request.GET.get("start")
end = request.GET.get("end")
all_A = A.objects.all()
for a in all_A:
logs=Log_Of_A.objects.filter(a=a,date__gt=start,date__lt=end)
statistics = logs.aggregate(Sum("clicks"))
a.clicks = statistics["clicks__sum"]
all_A.order_by("clicks")
return all_A
如何order_by临时字段