AngularJS $ запрос ресурсов от DjangoREST - PullRequest
0 голосов
/ 02 мая 2020

У меня есть Django RESTful API , который поставляется с MySQL DB и AngularJS веб-интерфейсом.

Для одного из включенных Django приложений я создал AngularJS Сервис с методом GET для выполнения запросов из AngularJS Контроллер .

Я до сих пор работаю, так что я могу получить массив всех Resource объектов в соответствующей таблице БД, поэтому я могу перебирать его, когда я ищу конкретный c entry.

Но я боюсь, что итерации - пустая трата вычислительных ресурсов, поэтому мне было интересно, могу ли я изменить AngularJS Service таким образом, чтобы он возвращал только тот объект, который я ищу.

В таблице БД есть поле с именем id, которое является единственным, к которому я могу получить прямой доступ, так сказать. Но я хотел бы сделать запрос для записи с выбранным значением в поле owner_id

Следующий код показывает, как мне удалось получить вышеупомянутый массив:

Служба для упомянутого приложения:

angular.module('MyAPI').factory('App1', function($resource){
  return $resource('/api/App1/:id', {id: '@id'}, {
    query: {
      method: "GET",
      isArray: true,

    }
  });
});

И это от соответствующего контроллера:

angular.module('MyAPI')
.controller('MyApp1Controller', function(App1, $sce,$rootScope,$scope,$state,$stateParams,$filter){
...

    App1.query().$promise.then(function(data) {
      $scope.app1= data;
    });

Я пытался пройти все изменилось с помощью метода query() в контроллере, и я также попытался изменить параметры для id в Service , где возвращается $resources. Но единственное, что сработало, это способ, который я упомянул выше (с итерацией по всей таблице БД).

Как мне выполнить sh получение одного элемента из таблицы с указанным значением c в конкретное c поле БД?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...