Size: a a a

Django [ru] #STAY HOME

2019 April 07

p

pavel in Django [ru] #STAY HOME
kambeerhunter
if Test.objects.filter(pk=111).exists():
   ...
а потом как к полям обращатся
источник

TM

Tim Mustafin in Django [ru] #STAY HOME
В чем проблема?
источник

p

pavel in Django [ru] #STAY HOME
Tim Mustafin
try catch норм тут будет
спросил еще варианты как например с filter и .exists
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
pavel
спросил еще варианты как например с filter и .exists
Вас важна явность кода или краткость?
источник

k

kambeerhunter in Django [ru] #STAY HOME
pavel
а потом как к полям обращатся
Если он есть, то получить объект .get и делать что угодно
источник

AK

Alexander Kalashnikov in Django [ru] #STAY HOME
kambeerhunter
Если он есть, то получить объект .get и делать что угодно
А вот и лишний запрос
источник

p

pavel in Django [ru] #STAY HOME
kambeerhunter
Если он есть, то получить объект .get и делать что угодно
то есть два раза в базу лезть или он 1 рз сходит
источник

AK

Alexander Kalashnikov in Django [ru] #STAY HOME
pavel
a = Test.objects.get(id=993)
if a:
  a.field = 10
def filter_or_none(model, *args, **kwargs) -> Optional[QuerySet]:
   try:
       return model.objects.filter(*args, **kwargs)
   except model.DoesNotExist:
       return None


def get_or_none(model, *args, **kwargs) -> Optional[QuerySet]:
   try:
       return model.objects.get(*args, **kwargs)
   except model.DoesNotExist:
       return None
источник

p

pavel in Django [ru] #STAY HOME
Test.objects.get(user=user)
Test.objects.get(user_id=user.id)

еще такой вопрос, запросы выше будут одинаковые по скорости, я имеею введу что во втором варианте по ид спрашиваю, на ид вроде как индексы , но первый тоже может по ид берет?)
источник

p

pavel in Django [ru] #STAY HOME
Alexander Kalashnikov
def filter_or_none(model, *args, **kwargs) -> Optional[QuerySet]:
   try:
       return model.objects.filter(*args, **kwargs)
   except model.DoesNotExist:
       return None


def get_or_none(model, *args, **kwargs) -> Optional[QuerySet]:
   try:
       return model.objects.get(*args, **kwargs)
   except model.DoesNotExist:
       return None
интересно спасибо
источник

AK

Alexander Kalashnikov in Django [ru] #STAY HOME
pavel
Test.objects.get(user=user)
Test.objects.get(user_id=user.id)

еще такой вопрос, запросы выше будут одинаковые по скорости, я имеею введу что во втором варианте по ид спрашиваю, на ид вроде как индексы , но первый тоже может по ид берет?)
Замути профайлинг и глянь скорость с твоей СУБД
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
Поздравляйте!
источник

AK

Alexander Kalashnikov in Django [ru] #STAY HOME
Yegor Kowalew
Поздравляйте!
Грац!
источник

p

pavel in Django [ru] #STAY HOME
Alexander Kalashnikov
Замути профайлинг и глянь скорость с твоей СУБД
в теории бы тоже знать, но замучу скажу
источник

AK

Alexander Kalashnikov in Django [ru] #STAY HOME
pavel
в теории бы тоже знать, но замучу скажу
Ну в теории, посмотри, какие запросы составляет ORM
источник

AK

Alexander Kalashnikov in Django [ru] #STAY HOME
Там уже видно будет
источник

AK

Alexander Kalashnikov in Django [ru] #STAY HOME
Как бы
источник

AK

Alexander Kalashnikov in Django [ru] #STAY HOME
Вдруг ты юзаешь какую-нибудь всратую СУБД со всратым драйвером
источник

p

pavel in Django [ru] #STAY HOME
Alexander Kalashnikov
Ну в теории, посмотри, какие запросы составляет ORM
можешь на память сказать как посмореть , какой метод
источник

YK

Yegor Kowalew in Django [ru] #STAY HOME
В общем на данный момент, считываю 803 строки из четырех листов в двух файлах. Это все дело превращается в 1400 записи в БД и производится вся эта манипуляция с предварительной чисткой базы за 8 секунд!
источник