Я не могу получить доступ к объектам из поля dict в mongoengine, так как хочу сравнить и получить данные из поля dict
def recorded_meal(request ): try schema = { "meal_plan_id": { "type": "string", "required": True, 'empty': False}, "id": { "type": "string", "required": True, 'empty': False} }
v = Validator()
# validate the request
if not v.validate(request.data, schema):
return Response({'error': v.errors}, status=status.HTTP_400_BAD_REQUEST)
meal_plan_id = request.data['meal_plan_id']
id = request.data['id']
consumed_meal = MealPlan.objects(id=meal_plan_id).first()
if consumed_meal:
clr1 = MealPlan.recipes
consumed_meal1 = clr1(id = id ).first()
if consumed_meal1:
serializer = serializers.MealsPlanInfoSerializer(consumed_meal1, many=False)
response = serializer.data
print(response)
return Response({'data': response}, status=status.HTTP_200_OK)
else:
return Response({'error': Messages.INVALID_MEAL_ID}, status=status.HTTP_200_OK)
except Exception as exception:
Logger.objects.create(
error=str({'error': 'Something went wrong at Learn', 'response': str(exception)}),
path=str('v1/user/learn/detail')
)
return Response({'error': str(exception)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
СОБЛЮДЕНИЕ плана_питания
{ "_id": { "$oid": "6281e3f868715b78ac782ccd" }, "type": "standard", "round": 1, "week": 1, "день": 1, "recipes": { "завтрак": { "serves": 1, "id": "6281e4c868715b78ac782cce", "image": "Screen-shot-2012-11-30-at-10.08.27-PM11-250x250.png", "title": "Запеканка из яиц со спаржей", "калории": 88 }, "snack": { "title": "Pea and Avocado Dip with Pita Crisps", "calories": 88, "id": "6281e4ed68715b78ac782ccf", "image": "Pea_Avo_Dip_Pita_Crisps_009_MC_LR-250x250.jpg", "serves": 1 }, "lunch": { "serves": 1, "id": "6281e50668715b78ac782cd0", "image": "Zucchini-and-Feta-Slice1-250x250.jpg", "title": "Все, кроме курицы с бубликом", "калорийность": 88 }, "vegan": { "title": "Очищающий салат из грейпфрута и мяты", "калорийность": 148, "id": "6281e52d68715b78ac782cd1", "image": "Cleansing-Grapefruit-and-Mint-Salad-LR-8999-250x250.jpg", "serves": 1 }, "dinner": { "serves": 1, "id": "6281e53e68715b78ac782cd2", "image": "Screen-Shot-2014-05-30-at-1.42.47-pm-250x250.png", "title": "Жареный красный болгарский перец и креветки", "калорийность": 88 }, "afternoon_snack": { "title": "Шоколадные трюфели с вишневым кокосом", "калорийность": 129, "id": "6281e57568715b78ac782cd3", "image": "Cherry-Coconut-Chocolate-Truffles-LR-9181-250x250.jpg", "serves": 1 } }, "created_at": { "$date": "2014-07-02T00:00:00Z" } }, "updated_at": { "$date": "2018-01-31T23:43:36.823Z" }}
получение ответа после попадания в API тело
{ "meal_plan_id" : "6281e3f868715b78ac782ccd", "id" : "fdknoiwenw" }
ответ
{ "error": "'DictField' object is not callable" }