У меня есть следующая модель:
class Artist(models.Model):
cell_phone = models.CharField(20)
pr_phone = modelsCharField(20)
В моем шаблоне я могу найти всех артистов, для которых введенный номер телефона соответствует их мобильному или PR-телефону. Предполагая, что нет никаких ограничений на то, как телефонные номера были первоначально введены, то есть телефонный номер может быть сохранен в любом из следующих форматов:
123 456 7890
(123) 456-7890
123-456-7890
Грубая сила способ сделать это:
# variable input_phone has already been stripped of dashes, braces and spaces
all_artists = Artists.objects.all()
artists = []
for artist in all_artists:
cell_phone = artist.cell_phone
pr_phone = artist.pr_phone
if cell_phone.find(input_phone) >= 0 or pr_phone.find(pr_phone) >= 0:
artists.append(artist)
return artists
Я использую find
, потому что я также могу искать всех артистов, которые живут в пределах определенного кода города. Есть ли другой способ сделать это через фильтр запросов Django?