Django如何order_by临时字段,动态创建字段

时间:2013-01-16 09:10:06

标签: django django-queryset

想一想: 这是一个函数,

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临时字段

0 个答案:

没有答案