在 Django 的数据库中 phone 号码查找后添加附加字段
Add additional fields after phone number lookup in the database in Django
我正在构建一个应用程序来查找数据库中的每个 phone 号码。如果有任何重复,我想获取第一个 phone 号码作为该 phone 号码的主要记录,然后对于重复信息(名称、位置),获取这些字段中的每一个,并将其添加到主记录 phone 数字字段(名称、位置),以分号分隔。
查看主phone号码记录的重复信息后结果如下:
Name Location Phone number
Helene,Sandra New Yok, Boston 000-000
请在下面找到我的型号:
class Document(models.Model):
name = models.CharField(null=True, max_length=254, blank=True)
location = models.CharField(null=True, max_length=254, blank=True)
phone_number = models.CharField(null=True, max_length=254, blank=True)
我对实现上述目标有点迷茫。任何帮助将不胜感激。
以下是我到目前为止尝试过的方法:(不工作)
from django.shortcuts import render
from .models import Document
def index(request):
search_number = list(Document.objects.order_by('-created').values("phone_number").distinct().order_by()) # Dictionary list of all numbers sorted by creation data without duplicate
for x in search_number:
try:
look_up = Document.objects.values("phone_number")
list_in_dba = look_up.phone_number
x in list_in_dba['phone_number']
print("Yes")
except:
print("No")
return render(request, 'snippets/index.html')
我会从这样的事情开始。
## this will get you all document records that have a duplicate phone-number
## and also group them by phone-number.
duplicate_phone_numbers = Document.objects.values('phone_number').\
annotate(total_items=Count('phone_number')).order_by('-total_items').filter(total_items__gt=1)
for entry in duplicate_phone_numbers:
records = Document.objects.filter(phone_number=entry.get('phone_number')
## unsure whether you want to just output the info here or
## update the actual record
all_names = ''
all_locations = ''
for x in records:
all_names += x.name + ";"
all_locations += x.location + ";"
print all_names, all_locations, entry.get('phone_number')
# to update the actual record
record = records[0]
record.name = all_names
record.location = all_locations
record.save()
我正在构建一个应用程序来查找数据库中的每个 phone 号码。如果有任何重复,我想获取第一个 phone 号码作为该 phone 号码的主要记录,然后对于重复信息(名称、位置),获取这些字段中的每一个,并将其添加到主记录 phone 数字字段(名称、位置),以分号分隔。
查看主phone号码记录的重复信息后结果如下:
Name Location Phone number
Helene,Sandra New Yok, Boston 000-000
请在下面找到我的型号:
class Document(models.Model):
name = models.CharField(null=True, max_length=254, blank=True)
location = models.CharField(null=True, max_length=254, blank=True)
phone_number = models.CharField(null=True, max_length=254, blank=True)
我对实现上述目标有点迷茫。任何帮助将不胜感激。
以下是我到目前为止尝试过的方法:(不工作)
from django.shortcuts import render
from .models import Document
def index(request):
search_number = list(Document.objects.order_by('-created').values("phone_number").distinct().order_by()) # Dictionary list of all numbers sorted by creation data without duplicate
for x in search_number:
try:
look_up = Document.objects.values("phone_number")
list_in_dba = look_up.phone_number
x in list_in_dba['phone_number']
print("Yes")
except:
print("No")
return render(request, 'snippets/index.html')
我会从这样的事情开始。
## this will get you all document records that have a duplicate phone-number
## and also group them by phone-number.
duplicate_phone_numbers = Document.objects.values('phone_number').\
annotate(total_items=Count('phone_number')).order_by('-total_items').filter(total_items__gt=1)
for entry in duplicate_phone_numbers:
records = Document.objects.filter(phone_number=entry.get('phone_number')
## unsure whether you want to just output the info here or
## update the actual record
all_names = ''
all_locations = ''
for x in records:
all_names += x.name + ";"
all_locations += x.location + ";"
print all_names, all_locations, entry.get('phone_number')
# to update the actual record
record = records[0]
record.name = all_names
record.location = all_locations
record.save()