LINUX.ORG.RU

Ответ на: комментарий от gruy
gender_id = PersonProfile.objects.filter(id=1).values('gender_id')[0]['gender_id']

PersonProfile.objects.filter(id=1).annotate(new_field=Subquery(GenderName.objects.filter(name_id=gender_id, lang='ru').values('name_trans'))).values()

<QuerySet [{'new_field': 'Мужчина', 'person_id': 1, 'gender_id'=1}]>

Изначано было

PersonProfile.objects.filter(id=1).values()
<QuerySet [{'person_id': 1, 'gender_id'=1}]>

только я же не смогу заменить поле gender с помощью annotate. В общем, мне нужно заменить gender=1, на gender=‘Мужчина’

bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 5)
Ответ на: комментарий от bryak

и не сможешь. У тебя поле gender типа integerfield, а ты хочешь его сделать charfield. Казалось бы, что могло пойти не так? Тебе не кверисет надо делать, а апдейт базы.

zad1ra
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.