如何获取相关模型';django滤波器的s域

如何获取相关模型';django滤波器的s域,django,django-models,django-views,Django,Django Models,Django Views,下面是一个场景。我获取用户id并执行名为generated的筛选器。我想按检查顺序显示C类的所有值 这是我的模特 class A(models.Model): tob = models.ForeignKey(B) def something(self, user): return A.objects.filter(to_b=user) class B(models.Model): bid = models.AutoField(primary_key=T

下面是一个场景。我获取用户id并执行名为generated的筛选器。我想按检查顺序显示C类的所有值

这是我的模特

class A(models.Model):
    tob = models.ForeignKey(B)

    def something(self, user):
        return A.objects.filter(to_b=user)

class B(models.Model):
    bid = models.AutoField(primary_key=True)
    name = models.CharField(max_length=50)


class C(models.Model):
    name = models.CharField(max_length=50)
    tobid = models.ForeignKey(B)
    check = models.datetimeField()
以下是我的视图.py:

def generated(request,user_id):

    f= A()
    p = f.something(user_id) 
我可以执行一个for循环,该循环将获得C类的所有值

从C获取价值的我的观点

    for des in p:
        des_list = des.tob.bid
        des_list_final = C.objects.filter(tobid = des_list)
但这里的问题是,每次它从B获取一个id并对C执行过滤。但这不会通过检查给出C顺序的值。你知道如何克服这个问题吗

我想按检查顺序显示C类的所有值

C.objects.filter(tobid\uu id\uu in=[des.tob.bid.pk for des in p])。订购人('-check')

如果要永久设置订单,请使用:


可能我无法澄清我的问题..我知道使用order_by..但问题在于我的for循环..它每次都获取单个b_id的所有C(order by check)值。。(因此,如果第一个b_id为1,12月11日和10月10日各有一张支票,那么它将依次出现。然后通过第二次投标,11月11日的支票将出现在第3位)……但我不想要这个……我想按照日期顺序显示支票……我不确定我是否能澄清我自己。
class C(models.Model):

   class Meta:
     ordering = ['-check']