Kangaroo
2.27K subscribers
112 photos
61 files
430 links
Kangaroo — о программировании и технологиях.

Python, серверная разработка, инфраструктура, ИИ и собственные проекты. Статьи, технические разборы, эксперименты и наблюдения из практики.

Иногда — математика и котики :)

По всем вопросам: @Lodhel
Download Telegram
Вчера мы создали функцию которая принимала в качестве аргумента имя пользователя и обращалась к пользоветелю с текстовым шаблонном.

Сегодня я хотел бы показать как получить конретного пользователя в 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
doc142751228_583209755.pdf
1.3 MB
Перевод статьи о Django и Django REST Framework, в которой разрабатывается простое веб-приложение для учета книг. Показан переход от обычных представлений, возвращающих HttpResponse, к JsonResponse и Django REST Framework для использования в дальнейшем библиотеки React.
#it #kangaroo #python
#django #react