具体问题一个用户一张卡,结果一个用户有了两张卡,怎么找出这个用户,快捷方便,不能写for 循环
class Card(models.Model): card_number = models.CharField(max_length=8, unique=True) user_id = models.IntegerField() card_type = models.CharField(max_length=16, choices=django_settings.CARD_TYPE) union_type = models.CharField(max_length=16, default="") t_created = models.DateTimeField(auto_now_add=True) t_modified = models.DateTimeField(auto_now=True) t_expiration = models.DateField() class Meta: verbose_name = '账户卡' verbose_name_plural = verbose_name
就是user_id相同记录有多条,找出这几个user_id
###引入包省略
card_qs = Card.objects.all().values_list("user_id", flat=True)
card_dis_qs = Card.objects.all().values_list("user_id", flat=True).distinct()
result=Counter(card_qs).most_common(card_qs.count() - card_dis_qs.count())
print(result)
解决了问题 ,开心