经过几个小时,我来到这里。我有以下型号:
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和一个布尔值并返回一个名字。