Вчера мы создали функцию которая принимала в качестве аргумента имя пользователя и обращалась к пользоветелю с текстовым шаблонном.
Сегодня я хотел бы показать как получить конретного пользователя в Django.
А так же написать различие между
    objects.get()
    objects.filter()
Когда в базе данных имеется множество пользователей а нам нужно чтобы наша программа находила конкретного пользователя по номеру телефона (учитывая что номер телефона для пользователя значение уникальное, т.е. один телефонный номер не может быть более чем у одного пользователя).
Так вот сразу отмечу что для нахождения одного пользователя используется
    .get()
Теперь создадим функцию, которая в качестве аргумента будет принимать номер телефона, и возвращать объект т.е. нашего пользователя.
def get_user(phone_number):
    try:
        user = User.objects.get(phone_number=phone_number)
    except:
        user = None
    return user
Сдесь так же учитвается что в модели User определено поле phone_number.
Блок try/except используется для исключения ошибки в програмном коде, если пользователя с таким номером нет, будет выведено исключение и переменной user будет присвоено значение None.
Внимание! Если необходимо найти несколько пользователей, например по полу используем:
   objects.filter(gender='male')
#python #django
#ORM #development
#SQL #models