2024-06-17 12:51:05 发布
网友
我在我的数据库中有这个名称字段,其中很多名称是重复的。我想让它们独一无二。我知道我可以设置unique = True,但这只会对以后的条目有所帮助。我想知道目前所有的条目都有重复的名字。有没有一种简单的方法可以打印出医生模型中所有重复的名字?在
unique = True
class Doctor(models.Model): name = models.CharField(max_length=1300)
班主任(模型。模型): 名称=模型.CharField(最大长度=1300,唯一=True)
要从数据库中删除所有重复项,必须先问自己一个问题—如何处理它们?删除?以某种方式合并?更改每个副本的名称?在
在回答了这个问题之后,只需构造数据迁移(使用RunPython迁移),它将对每个重复的条目执行所需的操作。在
要找到所有重复项:
from django.db.models import Count with_duplicates = Doctor.objects.annotate(count=Count('id')).order_by('id').distinct('name').filter(count__gt=1)
该查询将从重复组中首先从数据库(按id)中获取记录(例如,如果您有3个名为“who”的医生,它将首先获取其中的一个医生,并且它将只获取具有重复项的医生)。在
这样,对于每个有重复项的医生,您可以得到重复项的列表:
和他们做点什么。在
班主任(模型。模型): 名称=模型.CharField(最大长度=1300,唯一=True)
要从数据库中删除所有重复项,必须先问自己一个问题—如何处理它们?删除?以某种方式合并?更改每个副本的名称?在
在回答了这个问题之后,只需构造数据迁移(使用RunPython迁移),它将对每个重复的条目执行所需的操作。在
要找到所有重复项:
该查询将从重复组中首先从数据库(按id)中获取记录(例如,如果您有3个名为“who”的医生,它将首先获取其中的一个医生,并且它将只获取具有重复项的医生)。在
这样,对于每个有重复项的医生,您可以得到重复项的列表:
^{pr2}$和他们做点什么。在
相关问题 更多 >
编程相关推荐