我有一个模型和方法如下:
class Results(models.Model):
t_id = models.TextField(blank=True)
s_result_id = models.TextField(blank=True,primary_key=True)
s_name = models.TextField(blank=True)
s_score = models.FloatField(blank=True, null=True)
... (some other fields with huge data)
def get_s_score(self):
return 100 * self.s_score
在视图上,我试图从内部值调用get_s_score方法。我必须使用值来避免选择具有大量数据的其他字段。
def all_recentsiteresults(request,t_id1):
Result = Results.objects.filter(t_id=t_id1).values('s_result_uid','s_name',get_s_score())
答案 0 :(得分:2)
您无法在values()
方法中使用模型的方法。但您可以使用only()
方法来减少内存使用量:
Results.objects.only('s_result_id', 's_name', 's_score').filter(t_id=t_id1)