Angulary and Django REST

时间:2015-10-30 23:42:43

标签: angularjs django-rest-framework

How can I filtred my queryset? Simply example: .controller('TViewController', ["$scope", "$stateParams", "Ad", "Banner", function($scope, $stateParams, Ad, Banner) { $scope.ad = Ad.get({ ad_id: $stateParams.ad_id }); $scope.banners = Banner.query(); }]) And class CBanner(models.Model): image = models.ImageField(upload_to="img") ad = models.ForeignKey(CAds, null=True, blank=True) class CADs(models.Model): name = models.CharField(max_length=80, null=True, blank=True) They both have viewset, serializer and routing register class AdsViewer(viewsets.ModelViewSet): queryset = CADs.objects.all() serializer_class = AdsSerializer etc... How can I filtered this: $scope.banners = Banner.query(); to get only banners with ad(foreignKey) = ad_id?

1 个答案:

答案 0 :(得分:0)

您需要在网址中添加查询参数,例如:

http://example.com/api/ads/?ad_fk=5

AdsViewer

def get_queryset(self):
    """
    This view should return a list of all the ads filtered with proper foreign key
    """
    ad_fk = self.request.query_params.get('ad_fk', None)
    return CADs.objects.filter(ad=ad_fk)

有关详细信息,请参阅doc