Size: a a a

Django [ru] #STAY HOME

2019 May 04

EM

Eugene Maltsev in Django [ru] #STAY HOME
источник

Z

ZHU in Django [ru] #STAY HOME
привет подскажите пожалуйстка как можно получить данные вложенного сериалайзера в словаре
briefcases = b_case_serializers.GetConsolidatedSerializer(Briefcase.objects.all(), many=True).data

for b in briefcases:
           for p in plantituls:
               if b['id'] == p['briefcase']:
                   count_plan_tituls += p['planned_quantity']
           for e in b['editions']:
               for n in number_books:
                   print(e)

выводит так
OrderedDict([('edition', OrderedDict([('id', 1819), ('name', 'Biology Grade 8 Student`s book,Student`s Portfolio,Teacher`s book'),
источник

АА

Адилет Асанкожоев in Django [ru] #STAY HOME
Попробуй в dict() обернуть
источник

Z

ZHU in Django [ru] #STAY HOME
Адилет Асанкожоев
Попробуй в dict() обернуть
не пойдет
источник

Z

ZHU in Django [ru] #STAY HOME
Адилет Асанкожоев
Попробуй в dict() обернуть
когда пробую a = json.dumps(e)
                   print(a)
{"edition": {"id": 1819, "name": "Biology Grade 8 Student`s book,Student`s Portfolio,Teache}
источник

Z

ZHU in Django [ru] #STAY HOME
но
источник

Z

ZHU in Django [ru] #STAY HOME
print(a['edition'])
принтую выводит ошибку
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 9735: ordinal not in range(128)
источник

S

Senpos in Django [ru] #STAY HOME
dumps же словарь в строку переводит.
источник

АА

Адилет Асанкожоев in Django [ru] #STAY HOME
ZHU
когда пробую a = json.dumps(e)
                   print(a)
{"edition": {"id": 1819, "name": "Biology Grade 8 Student`s book,Student`s Portfolio,Teache}
А причем тут json и a['edition']?
источник

АА

Адилет Асанкожоев in Django [ru] #STAY HOME
JSON это ж строка
источник

Z

ZHU in Django [ru] #STAY HOME
Адилет Асанкожоев
А причем тут json и a['edition']?
for n in number_books:
                   this_obj = json.loads(json.dumps(e))
                   if this_obj['edition']['id'] == n['id']
источник

Z

ZHU in Django [ru] #STAY HOME
сделал так
источник

АА

Адилет Асанкожоев in Django [ru] #STAY HOME
Ууу, жесть)
источник

АА

Адилет Асанкожоев in Django [ru] #STAY HOME
А dict(e) не катит сделать?
источник

DB

Dima Boger in Django [ru] #STAY HOME
ZHU
привет подскажите пожалуйстка как можно получить данные вложенного сериалайзера в словаре
briefcases = b_case_serializers.GetConsolidatedSerializer(Briefcase.objects.all(), many=True).data

for b in briefcases:
           for p in plantituls:
               if b['id'] == p['briefcase']:
                   count_plan_tituls += p['planned_quantity']
           for e in b['editions']:
               for n in number_books:
                   print(e)

выводит так
OrderedDict([('edition', OrderedDict([('id', 1819), ('name', 'Biology Grade 8 Student`s book,Student`s Portfolio,Teacher`s book'),
а что не так?
источник

DB

Dima Boger in Django [ru] #STAY HOME
ZHU
for n in number_books:
                   this_obj = json.loads(json.dumps(e))
                   if this_obj['edition']['id'] == n['id']
e['edition]['id'], не нужно перегонять туда-сюда
источник

DB

Dima Boger in Django [ru] #STAY HOME
у OrderedDict такой же интерфейс, как и у дикта, для вытаскивания значений
источник

Z

ZHU in Django [ru] #STAY HOME
Dima Boger
e['edition]['id'], не нужно перегонять туда-сюда
А как преобразовать в словарь
источник

DB

Dima Boger in Django [ru] #STAY HOME
Зачем преобразовывать в словарь?
источник

Z

ZHU in Django [ru] #STAY HOME
Dima Boger
у OrderedDict такой же интерфейс, как и у дикта, для вытаскивания значений
Не получается выдернуть
источник