Django列表订购

时间:2013-04-16 03:44:01

标签: django filtering

我有一个名为bank的模型,它具有与用户关联的Credit类。 然后我有一个名为program的模型,其中NewProgram类也与用户相关联。

现在,我想列出所有NewProgram对象,按用户顺序递增到我的views.py。 我不知道如何使用.order_by方法做到这一点。

我希望有人能给我一些暗示。

继承我的代码:

Appname:Bank

models.py

class Credit(models.Model):
    credit_balance = models.DecimalField(max_digits=6, decimal_places=2)
    depositor = models.ForeignKey(User, unique=True)
    last_updated = models.DateTimeField(auto_now=True)

    def __unicode__(self):
        return u'%s' % self.depositor.username

Appname:程序

class NewProgram(models.Model):
    program_creator = models.ForeignKey(User, related_name='program_creator')
    joining_credit_value_offer = models.DecimalField(max_digits=6, decimal_places=2)
    site = models.ForeignKey('ProgramSite')
    uid = models.CharField(max_length=50)
    title = models.CharField(max_length=30)
    desc = models.CharField(max_length=150)
    content = models.TextField(blank=False)
    is_published = models.BooleanField(default=True)
    referrals = models.ManyToManyField(User, through='ReferredUser')
    creation_date = models.DateTimeField(auto_now_add=True)

继承人我正在努力实现的目标

list = NewProgram.objects.all().order_by(<Users Credit><ASC>)

非常感谢,非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

您可以尝试使用此

list = NewProgram.objects.all().order_by('-program_creator__credit__credic_balance')

Django通过__跟踪关系。

答案 1 :(得分:0)

你好,你可以使用这个:

#Note, no need to use .all()
list = NewProgram.objects.filter(credit_set__depositor="some_user")