Я разрабатываю один из своих сайтов с django python, где я использую angularjs на одной из своих страниц, где я дал пользователю возможность поиска (конкретного запроса). Вот моя модель ..Django AngularJS JSONResponse view в рендеринге json output
class Request(models.Model):
description = models.TextField(blank=True,null=True)
category = models.ForeignKey(Category)
sub_category = models.ForeignKey(SubCategory)
В моих взглядах я возвращаюсь через следующий код:
def some(code, x):
exec code
return x
def search_request(request):
page = request.GET.get('page')
term = request.GET.get('term')
i = 0
terms = "x = Request.objects.filter("
for t in term.split(" "):
i=i+1
if(len(term.split(" "))>i):
terms = terms +"Q(name__icontains='"+t+"')|"
else:
terms = terms +"Q(name__icontains='"+t+"'))"
junk = compile(terms,'<string>', 'exec')
spit = Request.objects.filter(name__icontains=term)
requests = some(junk,spit)
output = HttpResponse()
output['values']=[{'requests':r,'category':r.category,'subcategory':r.sub_category} for r in requests]
return JSONResponse(output['values'])
В моем HTML коде, когда я возвращаюсь с помощью AngularJS:
$scope.search = function(){
$scope.results = $http.get("{% url 'search-requests-show' %}?term="+$scope.term).then(
function(result){
return result.data;
}
);
}
Результата на выходе HTML поступает как в {[{results}]}:
"[{'category': <Category: The New Category>, 'requests': <Request: Need a Table>, 'subcategory': <SubCategory: Testsdfsdfsad>}]"
Проблема заключается в том, что я не в состоянии получить доступ с помощью results.category, потому что выход в «строки», так что «результат в результатах» нг-повтор = приносит результат как
[ { ' c a .....
Я возможно, что-то не так. Если у кого-нибудь есть предложение, ответьте пожалуйста.
Не в тему, но «компилировать» действительно необходимо? –