Size: a a a

Django [ru] #STAY HOME

2019 June 13

AT

Alex Ted in Django [ru] #STAY HOME
yllw
если pk == None
Кстати, резонно
источник

DK

Denis Kopitsa in Django [ru] #STAY HOME
yllw
если pk == None
не работает для явно заданных pk (типа UUID)
источник

y

yllw in Django [ru] #STAY HOME
ну если прямо в лоб решать то можно просто посмотреть в базе есть ли запись с таким id
источник

DK

Denis Kopitsa in Django [ru] #STAY HOME
лишний ненужный запрос, есть вариант лучше
источник

АБ

Андрей Балакирев in Django [ru] #STAY HOME
Denis Kopitsa
нужно выполнить действие только при создании объекта, а не при любом обновлении. Как в .save() определить что это именно создание?
from django.db.models.signals import post_save
from django.dispatch import receiver

@receiver(post_save, sender=Object)
def signal_object(sender, instance, created, **kwargs):
   if created:
       # твои действия
источник

DK

Denis Kopitsa in Django [ru] #STAY HOME
Андрей Балакирев
from django.db.models.signals import post_save
from django.dispatch import receiver

@receiver(post_save, sender=Object)
def signal_object(sender, instance, created, **kwargs):
   if created:
       # твои действия
можно так, но сигналы не всегда нужны
источник

DK

Denis Kopitsa in Django [ru] #STAY HOME
в общем правильный ответ -
self._state.adding

True - если объект создан через Model()
False - если объект создан через orm (.get()  и т.п.)
источник

АБ

Андрей Балакирев in Django [ru] #STAY HOME
Denis Kopitsa
в общем правильный ответ -
self._state.adding

True - если объект создан через Model()
False - если объект создан через orm (.get()  и т.п.)
спасибо) возьму на заметку)
источник

S

Spirit💎 in Django [ru] #STAY HOME
юникод может работать некорректно в self.get_object()?
источник

S

Spirit💎 in Django [ru] #STAY HOME
это destroy mixin
источник

DK

Denis Kopitsa in Django [ru] #STAY HOME
нет.  а в чем ошибка?
источник

S

Spirit💎 in Django [ru] #STAY HOME
Denis Kopitsa
нет.  а в чем ошибка?
no 'model' matches the given query
источник

S

Spirit💎 in Django [ru] #STAY HOME
хотя если взять model.objects.get(pk=1) – работает
источник

DK

Denis Kopitsa in Django [ru] #STAY HOME
нет, pk=1 и pk='1' в данном случае равнозначны
источник

S

Spirit💎 in Django [ru] #STAY HOME
а в чем тогда беда может быть?
источник

DK

Denis Kopitsa in Django [ru] #STAY HOME
может код вызывается 2 раза в одной транзакции? get -> delete -> get -> rollback?
источник

AF

Anton Fircak in Django [ru] #STAY HOME
ребят хелпаните плз я создал касмотную модель юзера но она не может пройти авторизацию, походу пароль какой то не тот
источник

AF

Anton Fircak in Django [ru] #STAY HOME
вот манагер:
источник

AF

Anton Fircak in Django [ru] #STAY HOME
def create_user(self, email, password=None, **kwargs):
       if not email:
           raise ValueError('Email field is required')

       email = self.normalize_email(email)
       user = self.model(email=email, **kwargs)
       user.set_password(password)
       user.save()
       return user
источник

S

Spirit💎 in Django [ru] #STAY HOME
Denis Kopitsa
может код вызывается 2 раза в одной транзакции? get -> delete -> get -> rollback?
а как это проверить?
источник