必要なのは、記事オブジェクトの foos.all + bar.peaces の合計として計算される番号順に並べられた記事のリストを返すクエリです。モデルの外観は次のとおりです。
class Article(models.Model):
name = models.CharField(max_length=150)
date = models.DateTimeField()
...
class Foo(models.Model):
article = models.ForeignKey(Article, related_name='foos')
user = models.ForeignKey(User, related_name='userfoos')
...
class Bar(models.Model):
article = models.OneToOneField(Article)
peaces = models.IntegerField(default=0)
...
X
それが記事オブジェクトだとしましょう:
foo_num = Foo.objects.filter(article=X).count()
bar_num = Bar.objects.get(article=X)
bar_num = bar_num.peaces
Y = bar_num + foo_num
したがって、次の順序で並べられた記事のリストが必要ですY