django objects.filter(x_uuin=y),其中y是重复查询集
联系人列表发送者是一个重复的查询集,涉及一些客户ID: {发送方\ id1,发送方\ id2,发送方\ id1,发送方\ id2,发送方\ id1} 当我试图用上述代码从contact_list_senders QuerySet中查找Customer对象时 实际产量: {Customer1,Customer2} 期望输出 {Customer1,Customer2,Customer1,Customer2,Customer1} 我理解实际输出是有意义的,因为只有两个客户对象与这些联系人匹配。你能帮我得到想要的结果吗 models.py: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} 我理解实际输出是有意义的,因为只有两个客户对象与这些联系人匹配。你能帮我
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)