django objects.filter(x_uuin=y),其中y是重复查询集

django objects.filter(x_uuin=y),其中y是重复查询集,django,filter,unique,one-to-many,Django,Filter,Unique,One To Many,联系人列表发送者是一个重复的查询集,涉及一些客户ID: {发送方\ id1,发送方\ id2,发送方\ id1,发送方\ id2,发送方\ id1} 当我试图用上述代码从contact_list_senders QuerySet中查找Customer对象时 实际产量: {Customer1,Customer2} 期望输出 {Customer1,Customer2,Customer1,Customer2,Customer1} 我理解实际输出是有意义的,因为只有两个客户对象与这些联系人匹配。你能帮我

联系人列表发送者是一个重复的查询集,涉及一些客户ID:

{发送方\ id1,发送方\ id2,发送方\ id1,发送方\ id2,发送方\ id1}

当我试图用上述代码从contact_list_senders QuerySet中查找Customer对象时

实际产量:

{Customer1,Customer2}

期望输出

{Customer1,Customer2,Customer1,Customer2,Customer1}

我理解实际输出是有意义的,因为只有两个客户对象与这些联系人匹配。你能帮我得到想要的结果吗

models.py:

Customer.objects.filter(customer_id__in=contact_list_senders)

您是否希望以字典的形式获得最终结果:{sender_id1:Customer1,sender_id2:Customer2}等?这会更有意义。只要我能将联系人列表和客户列表结合起来,以任何方式将它们传递给用户界面都是可以接受的。我使用zip(联系人列表、客户列表)来实现这一点,但字典也很好。。但不确定这如何解决客户列表只有唯一值的问题。
class Customer(models.Model):
    customer_id = models.CharField(max_length=244, blank=False, null=False)
    first_name = models.CharField(max_length=244, blank=True, null=True)
    last_name = models.CharField(max_length=244, blank=True, null=True)
    email = models.CharField(max_length=244, blank=False, null=False)
    enrollment_method = models.CharField(max_length=244, blank=True, null=False)
    account_balance = models.DecimalField(default=0000.00, max_digits=6, decimal_places=2)
    reserved_balance = models.DecimalField(default=0000.00, max_digits=6, decimal_places=2)
    modified = models.DateTimeField(auto_now_add=True)
    created = models.DateTimeField(auto_now_add=True)