Как получить данные из базы данных django - PullRequest
0 голосов
/ 11 июля 2020

Я создал модель CustomerRegistration и хочу, чтобы, если номер телефона отсутствует в базе данных, все данные о клиенте автоматически отображались в форме.

вот мой models.py

class CustomerRegistration(models.Model):
    name = models.CharField(max_length=254, null=False)
    email = models.EmailField(max_length=254, null=False)
    date_of_birth = models.DateTimeField(null=False)
    country_id = models.ForeignKey('accounts.Country', null=False, on_delete=models.CASCADE, related_name='Country')
    state_id = models.ForeignKey('accounts.State', null=False, on_delete=models.CASCADE, related_name='State')
    cities_id = models.ForeignKey('accounts.City', null=False, on_delete=models.CASCADE, related_name='city')
    address = models.CharField(max_length=254, null=False)
    refernce_by_person_name = models.CharField(max_length=254, null=False)
    refernce_by_person_contact_no = models.IntegerField(null=True)
    phone_no = models.IntegerField(null=False, primary_key=True)
    alternate_no = models.IntegerField(null=False)
    hobbies = models.CharField(max_length=254)


    def __str__(self):
        return self.name

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

Вы можете запросить вот так, чтобы понять, есть ли у пользователя номер телефона или нет, или что-то вроде этого:

CustomerRegistration.objects.filter(phone_no__isnull=False)

isnull указывает, что поле отсутствует или нет

0 голосов
/ 11 июля 2020

Посмотрите на запросы в документации django. Вы захотите сделать запрос к своей базе данных, и если вы получите какие-либо результаты, заполните форму правильной информацией.

Это будет выглядеть примерно так:

from .models import CustomerRegistration

results = CustomerRegistration.objects.all().filter(phone=given_number)

тогда, если есть какие-либо результаты, вы можете использовать его для заполнения формы!

...