Django中的filter返回重复对象
models.py
class Thing(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=256) tags = TaggableManager(blank=True)
views.py
ob = models.Thing.objects.filter(Q(name__icontains=q)|Q(tags__name__in=[q]))
希望得到的结果:名称或tag包含q的Thing对象
实际得到的结果:相同的对象重复出现,出现次数与该对象的tag数量相同
解决方案:
ob = models.Thing.objects.filter(Q(name__icontains=q)|Q(tags__name__in=[q])).distinct()
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号