Size: a a a

Django [ru] #STAY HOME

2019 June 20

AP

Andrii P in Django [ru] #STAY HOME
Привет, кто-то сходу подскажет как из модел сериалайзера при создании вернуть айдишник созданного объекта ?
    class Meta:
       model = Bot
       fields = ('bot_id', 'csv', 'color', 'name', 'bot_logo_id', 'company_logo_id')
       read_only_fields = ('bot_id',)

надо вернуть bot_id - но его нет
    return Response(serializer.data['bot_id'], status.HTTP_201_CREATED)
KeyError: 'bot_id'
источник

S

Spirit💎 in Django [ru] #STAY HOME
Andrii P
Привет, кто-то сходу подскажет как из модел сериалайзера при создании вернуть айдишник созданного объекта ?
    class Meta:
       model = Bot
       fields = ('bot_id', 'csv', 'color', 'name', 'bot_logo_id', 'company_logo_id')
       read_only_fields = ('bot_id',)

надо вернуть bot_id - но его нет
    return Response(serializer.data['bot_id'], status.HTTP_201_CREATED)
KeyError: 'bot_id'
так а что в дате у сериалайзера?
источник

AP

Andrii P in Django [ru] #STAY HOME
Spirit💎
так а что в дате у сериалайзера?
все поля кроме bot_id 🤷‍♂️
что для меня кажется странным - это частый кейс когда надо вернуть айдишник который появится только после создания и это поле вроде как должно быть read_only
источник

S

Spirit💎 in Django [ru] #STAY HOME
ну так он ридонли, по идее ты не можешь сериализовать поле модели, где передается бот_ид, он же ток ридонли
источник

AP

Andrii P in Django [ru] #STAY HOME
рид онли как раз игнорится при создании - и не игнорится уже при чтении
окей - как это сделать ?
источник

S

Spirit💎 in Django [ru] #STAY HOME
а зачем тебе вообще ридонли?
источник

mc

m0nte cr1st0 in Django [ru] #STAY HOME
Oleksii Suvertok
post_save_changed.connect(functoin, sender=Order, fields=['status'])
вот ещё, как вариант, думаю
@receiver(post_save, sender=Order)
def order_status_changed(sender, update_fields, instance, **kwargs):
   if 'status' in update_fields
источник

AP

Andrii P in Django [ru] #STAY HOME
Spirit💎
а зачем тебе вообще ридонли?
что б это поле не смогли передать при создании
очевидно же
источник

OS

Oleksii Suvertok in Django [ru] #STAY HOME
m0nte cr1st0
вот ещё, как вариант, думаю
@receiver(post_save, sender=Order)
def order_status_changed(sender, update_fields, instance, **kwargs):
   if 'status' in update_fields
Ну как вариант
Но мне кажется если будет не 1 поле, то не так удобно
источник

OS

Oleksii Suvertok in Django [ru] #STAY HOME
Andrii P
что б это поле не смогли передать при создании
очевидно же
А это обыкновеное поле формы? Или связь з другой?
источник

AP

Andrii P in Django [ru] #STAY HOME
Oleksii Suvertok
А это обыкновеное поле формы? Или связь з другой?
это просто айдишник только что созданного объекта - поле uuid
источник

AP

Andrii P in Django [ru] #STAY HOME
вопрос достаточно банальный, но что-то я не могу ничего найти, "как вернуть айдишник созданного объекта"
в сериалайзере его нет - даже если добавить как рид онли филд
источник

OS

Oleksii Suvertok in Django [ru] #STAY HOME
Звучит страно
источник

OS

Oleksii Suvertok in Django [ru] #STAY HOME
Ид созданого объекта.. в сериалайзере.и не просто id
источник

OS

Oleksii Suvertok in Django [ru] #STAY HOME
Пусти кто-то напишет. Мне как джуну интересно посмотреть ответ
источник

yh

yasya huyase in Django [ru] #STAY HOME
Ребят, не подскажете, как можно связать 2 поля модели в админке
1 - decimalfield
2 - radiofield
Радиофилд имеет 3 кнопки
Нужно что бы при вводе значения в десималфилд автоматически выбирался правильный вариант радиофилда
источник

АМ

Алишер Маткурбанов in Django [ru] #STAY HOME
Как отобразить только определенные значения в выпадающем списке при заполнении формы в django admin?
источник

АМ

Алишер Маткурбанов in Django [ru] #STAY HOME
источник

OT

Oleksandr Trusilov in Django [ru] #STAY HOME
Добрый день. Не подсткажете, в чем проблема?
источник

OT

Oleksandr Trusilov in Django [ru] #STAY HOME
терминал.
https://dpaste.de/2yVt

и гит проекта.

https://github.com/trusilov/temp_rep
источник