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

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

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

По всем вопросам: @Lodhel
Download Telegram
OpenShot − это видеоредактор для FreeBSD, Linux, macOS и Windows написанный на языке python.

И самое главное этот канал не оставит без внимания Вас, дорогие читатели! Исходники🙈

#python #development
#opensource

https://github.com/OpenShot/openshot-qt
А давно ли вы пишете на python? Кто нибудь задумался над тем чтобы написать игру? Сапера или те же шахматы?

Lucas Chess − шахматный клиент для Windows

#python #development #opensource #chess

https://github.com/lukasmonk/lucaschess
Скоро я напишу ряд статей best parcties на python. А пока продолжу говорить о крутых проектах написанных на python. С открытым исходным кодом👍

Вам нужно всего лишь заюзать
 
git clone

И указать нужный репозиторий…

А теперь представляю вам инструмент для резервного копирования учетных записей gmail, как выше было сказано на python, с открытым исходным кодом.

#gmvault #opensource #development #python #git #gmail

https://github.com/gaubert/gmvault
Вчера мы создали функцию которая принимала в качестве аргумента имя пользователя и обращалась к пользоветелю с текстовым шаблонном.

Сегодня я хотел бы показать как получить конретного пользователя в 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
Порой бывает так, что нужно воспользоваться методом родительского класса, который имеет то же название что и в дочернем классе.

В таком случае нам на помощь приходит функция супер!


super().get(self, request, *args, **kwargs)


Таким образом вызвав функцию super мы вызвали метод get, но не тот который мы определили в нашем дочернем классе, а тот от которого мы унаследовали класс.

#ООП #python #development