[Answer]-How to update model using angularjs, Django,Django rest framework

1๐Ÿ‘

A quick tidy up of your script tag shows that you are only defining the function click if the http call was successful.

I would suggest moving the definition of the click method outside of the success callback.

You may also be running into a race condition that the click function has not been defined before clicking the actual button. Regardless you will want to move that function definition to where the controller is actually created.

Suggested edits (moved click definition outside of http call response):

var demoApp = angular.module('demoApp', ['ngResource']);
demoApp.controller('AllPosts', function($scope, $http, $resource) {
    $scope.click = function(post_id) {
        var Post = $resource('/update/:PostId ', {
            PostId: post_id,
            salutation: 'json'
        });
        post = Post.get({
            PostId: post_id
        }, function() {
            post.rating = post.rating + 1;
            post.$save();
        });
    };

    $http.get('/blogpost/?format=json').success(function(data, status, headers, config) {
        $scope.posts = data.results;
        $scope.predicate = '-title';
    }).error(function(data, status, headers, config) {});
})

Updates:

  • Injected $resource into the controller
  • Removed $resource from click function params
๐Ÿ‘คBrocco

Leave a comment