• Как в сериалайзере единожды вызвать метод, который получит данные для остальных полей?

    @HolmesInc Автор вопроса
    Проблема решена с помощью использования конструктора в сериалайзере:
    def __init__(self, *args, **kwargs):
    # getting and prepare data
    # ...
    super(StudentsSerializer, self).__init__(*args, **kwargs)

    Может кому то будет полезно
    Ответ написан
    Комментировать
  • Можно ли(и если да то как) получить все данные, переданные в Serializer?

    @HolmesInc Автор вопроса
    Проблема решена с помощью использования конструктора в сериалайзере:
    def __init__(self, *args, **kwargs):
    # getting and prepare data
    # ...
    super(StudentsSerializer, self).__init__(*args, **kwargs)

    Может кому то будет полезно
    Ответ написан
    Комментировать
  • Почему String данные не заносятся в $scope?

    @HolmesInc Автор вопроса
    <div class="col-md-3">
    	<raphael-gauge id="place1" config="placeObject.place[0]"></raphael-gauge>
    </div>
    <div class="col-md-3">
    	<raphael-gauge id="place2" config="placeObject.place[1]"></raphael-gauge>
    </div>

    Модуль:
    var ratingApp = angular.module('ratingApp', ['angular-raphael-gauge']);
    ratingApp.controller('ratingCtrl', function($scope, $http) {
    	var graphOpacity = 0.55;
    	$scope.placeObject = {
    		place: [
    		{
    			name: 'some 1',
    			opacity: graphOpacity,
    			value: 0,
    			text: 'some text 1'	
    		},
    		{
    			name: 'some 2',
    			opacity: graphOpacity,
    			value: 0,
    			text: 'some text 2'	
    		},
    		{
    			name: 'some name 3',
    			opacity: graphOpacity,
    			value: 0,
    			text: 'some text 3'	
    		},
    		{
    			name: 'some name 4',
    			opacity: graphOpacity,
    			value: 0,
    			text: 'some text 4'
    		},
    		]
    	};
    $http.get('../../php_scripts/functionality/votes/get_new_place_data.php').then(function(response) {
    		$scope.placeObject.place[0].value = response.data[0].index_of_validity;
    		$scope.placeObject.place[0].name = response.data[0].name;
    		console.log($scope.placeObject.place[0].name)
    		$scope.placeObject.place[1].value = response.data[1].index_of_validity;
    		$scope.placeObject.place[1].name = response.data[1].name;
    		console.log($scope.placeObject.place[1].name)
      });
    });
    Похоже что проблема в модуле для отрисовки графика(использую этот http://angular-js.in/angular-raphael-gauge/)
    Он отрисовывает только те значения, которые изначально заданы в объекте $scope.placeObject и не обновляет их после get запроса. Можно ли как то отредактировать этот модуль?
    Ответ написан
  • Как сравнить элементы в $scope?

    @HolmesInc Автор вопроса
    Решил проблему несколько иначе: действительно если элементы из полученного JSON попытаться считать как $scope.dbInfo[i], то выдаст ошибку. То есть условие
    if(newUser.email==$scope.dbInfo[i]){
    -----
    }

    не сработает. Для исправления достаточно добавить префикс получаемых в JSON элементов. В моём случае в JSON было: [{"email":"andruonline@yandex.ua"},{"email":"lina_fox@yandex.ua"}]
    Значит правильным условием будет с добавлением префикса email:
    if(newUser.email==$scope.dbInfo[i].email){
    -----
    }
    Ответ написан
    Комментировать