【问题标题】:Order by number of related objects按相关对象的数量排序
【发布时间】:2011-12-06 05:35:35
【问题描述】:

我有下一个模型:

class Sentence(models.Model):
    text = models.CharField(max_length=200)       
    language = models.ForeignKey(Language)
    pub_date = models.DateTimeField()  

class Traduction(models.Model):
    sentence_from = models.ForeignKey(Sentence, related_name='st_traductions_from')
    sentence_to = models.ForeignKey(Sentence, related_name='st_traductions_to') 

我想通过与它们相关的 Traduction 对象的数量来获取句子对象的顺序。我试过了:

sentences = Sentence.objects.annotate(num_traductions=Count('st_traductions_from')) \
            .order_by('-num_traductions') 

但是当我迭代它时它会引发下一个异常:

Caught DatabaseError while rendering: This query is not supported by the database

我正在使用 appengine 和 Django-nonrel。

谢谢。

【问题讨论】:

    标签: django google-app-engine django-views django-nonrel


    【解决方案1】:

    【讨论】:

    • 好的。最后,我在句子模型中添加了一个“num_traductions”字段,当添加新的 Traduction 并与之相关时,该字段会递增。我认为这是一种更有效的解决方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-26
    • 2018-03-28
    • 1970-01-01
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 2013-10-18
    相关资源
    最近更新 更多