使用 Django 实现多对多(无重复)



有一个表具有lob(一对多字段(,每个lob映射到一个或多个客户端,因此还有另一个表称为client(多对多(。 基本上,一旦你选择一个lob,就会进行ajax调用,相关的客户端被获取并显示在模板上

client = models.ManyToManyField(Client)
lob    = models.ForeignKey(
LoB, on_delete=models.SET_NULL, 
null=True
)

现在需要将 lob 更改为多对多,但问题是客户端可以映射到多个 lob,因此一旦选择了多个 lob,它最终会显示重复的客户端。 任何想法如何处理这个问题!

lob-->测试 -->开发中 -->设计

客户-->美国 -->IND -->非洲

客户端 LOB测试-->美国 测试-->输入 设计-->

做这样的事情。

queryset = queryset.values('client').distinct()   # this is your queryset
clients = Client.objects.filter(id__in=queryset)

然后序列化客户端查询集。

最新更新