将字段值传递给函数.extra()

时间:2017-10-04 19:06:21

标签: django

经过几个小时,我来到这里。我有以下型号:

class Items(models.Model):
     date=models.DateField()
     giver=models.IntegerField()


Class Givers(models.Model):
     name=models.CharField(max_length=25)

基本上,物品可以由Givers模型的捐赠者提供,也可以由用户购买。如果给定,giver字段存储来自Givers模型的id。否则,它是0.现在我想要一个将列出我的项目的查询。如果给予者> 0,我需要显示给予者的名字。我不能在这里建立关系。这个问题让我如此接近,就像文字价值观上的魅力一样,但我想提供“给予者”的信息。而是字段:

   data=Items.objects.all().extra(select={'giver_name':giver_name(1,False)}).values('giver_name','id','date')

即使给出任何数字(存在或不存在),它也像魅力一样。但我想做这样的事情,但它没有找到或未定义cos字段:

   data=Items.objects.all().extra(select={'giver_name':giver_name(giver,False)}).values('giver_name','id','date')

giver_name是一个函数,它接受一个给定者的id和一个布尔值并返回一个名字。

0 个答案:

没有答案