Size: a a a

Django [ru] #STAY HOME

2019 May 16

D

DALERSHO in Django [ru] #STAY HOME
vasin uasia
это в def post нужно менять?
и в def get() то же напиши
источник

PB

Petr B. in Django [ru] #STAY HOME
ID:461990605
А получать данные заказа -
  def get_order_stauts(self, obj):
   return obj.orders.order_status

таким образом?
Ну сначала выбрать нужный
источник

NK

ID:461990605 in Django [ru] #STAY HOME
Petr B.
Ну сначала выбрать нужный
Обычным objects.get()?
источник

PB

Petr B. in Django [ru] #STAY HOME
ID:461990605
Обычным objects.get()?
Ну, да
источник

NK

ID:461990605 in Django [ru] #STAY HOME
Petr B.
Ну, да
если бы у меня была привязка к user, я бы так писал -
return obj.orders.objects.get(user = obj.user).order_status
, но у меня FK к advencedUser. Как тогда нужно?
источник

PB

Petr B. in Django [ru] #STAY HOME
ID:461990605
если бы у меня была привязка к user, я бы так писал -
return obj.orders.objects.get(user = obj.user).order_status
, но у меня FK к advencedUser. Как тогда нужно?
Для onetoone можно (и желательно) указать related_name
И если в приведенном тобой коде ты для определенного пользователя (obj) хочешь получить статус последнего заказа, то return obj.orders.order_by(...).last().order_status
источник

NK

ID:461990605 in Django [ru] #STAY HOME
Petr B.
Для onetoone можно (и желательно) указать related_name
И если в приведенном тобой коде ты для определенного пользователя (obj) хочешь получить статус последнего заказа, то return obj.orders.order_by(...).last().order_status
уже
'NoneType' object has no attribute 'order_status'
получаю
источник

PB

Petr B. in Django [ru] #STAY HOME
ID:461990605
уже
'NoneType' object has no attribute 'order_status'
получаю
Ну можно добавить проверку и если прользователь не имеет заказов - не падать
источник

NK

ID:461990605 in Django [ru] #STAY HOME
Petr B.
Ну можно добавить проверку и если прользователь не имеет заказов - не падать
((сорян
источник

NK

ID:461990605 in Django [ru] #STAY HOME
не спал долго
источник

PB

Petr B. in Django [ru] #STAY HOME
.last() и .first() могут возвращать None
источник

NK

ID:461990605 in Django [ru] #STAY HOME
Petr B.
.last() и .first() могут возвращать None
а если None, то что возвращать?
источник

NK

ID:461990605 in Django [ru] #STAY HOME
ааа
источник

NK

ID:461990605 in Django [ru] #STAY HOME
list_displey менять тогда?
источник

PB

Petr B. in Django [ru] #STAY HOME
ID:461990605
а если None, то что возвращать?
Верни -
источник

PB

Petr B. in Django [ru] #STAY HOME
Или погляди в доке про ModelAdmin, там есть параметр что отображать на если None
источник

NK

ID:461990605 in Django [ru] #STAY HOME
Спасибо
источник

NK

ID:461990605 in Django [ru] #STAY HOME
Petr B.
Или погляди в доке про ModelAdmin, там есть параметр что отображать на если None
empty_value_display так? у меня все равно ошибка 'NoneType' object has no attribute 'order_status'
источник

PB

Petr B. in Django [ru] #STAY HOME
ID:461990605
empty_value_display так? у меня все равно ошибка 'NoneType' object has no attribute 'order_status'
Ну можешь вытаскивать из бд только статус: .values_list('order_status', flat=True).last(), можешь добавить if с проверкой что последний заказ не None
источник

NK

ID:461990605 in Django [ru] #STAY HOME
Petr B.
Ну можешь вытаскивать из бд только статус: .values_list('order_status', flat=True).last(), можешь добавить if с проверкой что последний заказ не None
работает)
источник