Python Django:有序对象列表的有效模型

Python Django:有序对象列表的有效模型,python,django,design-patterns,django-models,Python,Django,Design Patterns,Django Models,我有两个类:A和B。每个A有一个B的有序排列,每个B有一个As的有序排列 My models.py: class A(models.Model): name = models.CharField(max_length=200) ... class B(models.Model): name = models.CharField(max_length=200) ... class Ranking(models.Model): a = models.For

我有两个类:A和B。每个A有一个B的有序排列,每个B有一个As的有序排列

My models.py:

class A(models.Model):
    name = models.CharField(max_length=200)
    ...

class B(models.Model):
    name = models.CharField(max_length=200)
    ...

class Ranking(models.Model):
    a = models.ForeignKey(A)
    b = models.ForeignKey(B)
    rankofa = models.IntegerField()
    rankofb = models.IntegerField()
我需要做的示例:

  • 查找a B已排名的As的数量
  • 按顺序遍历按特定a排序的所有B,并评估B的某些属性
  • 转到A的最低排名B,找到B给A的排名
我希望将排名设置为一个数组/对象列表(或者某种不需要进行昂贵的数据库调用的方式),但不确定如何将其作为Django模型/数据库解决方案

感谢所有的想法。

你需要的是

查找客户排名的卖家数量:

customer.feedbacks.all().count()
按顺序遍历特定卖家排名的所有客户,并评估一些客户属性

for customer in seller.feedbacks.all():
    do_something(customer)
转到卖家排名最低的客户,找到该客户给予该卖家的排名

def lowes_feedback_response(seller):
    try:
        return models.Feedback.filter(seller=seller).order_by('-seller_feedback')[0].customer_feedback
    except models.Feedback.DoesNotExist:
        return None
我没有对代码进行评估,但您已经了解了基本的想法

def lowes_feedback_response(seller):
    try:
        return models.Feedback.filter(seller=seller).order_by('-seller_feedback')[0].customer_feedback
    except models.Feedback.DoesNotExist:
        return None