У меня есть приложение в реальном времени, и это приложение предоставляет мне объявления от администратора. К сожалению, я не мог обработать проблему заказа, которая является новой информацией должна быть в верхней части списка. Мое приложение дает мне нижнюю часть списка. После обновления он фиксирует список, но я не хочу обновлять все новые сведения. Перед обновлением:объекты swampdragon не упорядочиваются должным образом
- AFAS 2015-07-21 12:07:10
- 5 мин 2015-07-21 12:07:03
- 5 мин 2015-07-21 12:27: 16
после обновления:
- 5 мин 2015-07-21 12:27:16
- AFAS 2015-07-21 12:07:10
- 5 мин 2015-07-21 12:07:03
controller.js:
var AnnounceControllers = angular.module('AnnounceControllers', []);
AnnounceControllers.controller('AnnounceListCtrl', ['$scope', '$dragon', function ($scope, $dragon) {
$scope.announceList = {};
$scope.announcements = [];
$scope.channel = 'announce';
$dragon.onReady(function() {
$dragon.subscribe('announcements', $scope.channel, {announce_list__id: 1}).then(function(response) {
$scope.dataMapper = new DataMapper(response.data);
});
$dragon.getSingle('announce-list', {id:1}).then(function(response) {
$scope.announceList = response.data;
});
$dragon.getList('announcements', {list_id:1}).then(function(response) {
$scope.announcements = response.data;
});
});
$dragon.onChannelMessage(function(channels, message) {
if (indexOf.call(channels, $scope.channel) > -1) {
$scope.$apply(function() {
$scope.dataMapper.mapData($scope.announcements, message);
});
}
});
}]);
routers.py:
from swampdragon import route_handler
from swampdragon.route_handler import ModelRouter
from post.models import AnnounceList, Announce
from post.serializers import AnnounceListSerializer, AnnounceSerializer
class AnnounceListRouter(ModelRouter):
route_name = 'announce-list'
serializer_class = AnnounceListSerializer
model = AnnounceList
def get_object(self, **kwargs):
return self.model.objects.get(pk=kwargs['id'])
def get_query_set(self, **kwargs):
return self.model.objects.all()
class AnnounceRouter(ModelRouter):
route_name = 'announcements'
serializer_class = AnnounceSerializer
model = Announce
def get_object(self, **kwargs):
return self.model.objects.get(pk=kwargs['id'])
def get_query_set(self, **kwargs):
return self.model.objects.filter(announce_list__id=kwargs['list_id']).order_by("-pub_date")
route_handler.register(AnnounceListRouter)
route_handler.register(AnnounceRouter)