2015-10-22 27 views
1

我正在嘗試執行計數查詢並將其保存到我的模型中。保存在Django模型中的計數查詢

無論有多少孩子與父母相關,計數只返回1。

例如:

class Parent(models.Model): 
    ...... 

    def save(self, *args, **kwargs): 
     children = Children.objects.filter(parent=self.id).count() 
     self.no_of_children = children 

     super(Parent, self).save(*args, **kwargs) 

class Children(models.Model): 
    parent = models.ForeignKey(Parent) 
+1

對你有好處。和? –

+1

問題是? – acostela

+0

呃一些如何錯過它。編輯問題 – Mantis

回答

1

的問題是在過濾你的查詢集。 檢查下面的代碼。 (這段代碼假設你已經有一個父對象,萬一你不用這種方法將無法工作。)

class Parent(models.Model): 
...... 

    def save(self, *args, **kwargs): 
     children = Children.objects.filter(parent__id=self.id).count() 
     self.no_of_children = children 

     super(Parent, self).save(*args, **kwargs) 

class Children(models.Model): 
    parent = models.ForeignKey(Parent)