IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Django - filtrer datatable via Ajax et POST


Sujet :

Django Python

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    231
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 231
    Points : 203
    Points
    203
    Par défaut Django - filtrer datatable via Ajax et POST
    L'on me demande de filtrer via des boutons ou cases à cocher les données d'une datatable.
    Me suis dit "commence par une case à cocher" qui permettra de n'affiche que les lignes en anomalies (cf sAnoma)...

    Mais avec cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    "sAjaxSource": '{% url "api:transaction_list" %}',
    "order": [[ 0, "desc" ]],
    "bProcessing": true,
    "bServerSide": true,
    tout tourne côté serveur.

    A la suite de la définition de la datatable, ai donc placé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     $("#chk_anomalie").on("click", function (event) {
       $.ajax({
          url: "{% url "api:transaction_list" %}",
             type: "POST",
             data: { sAnoma: $('#chk_anomalie').is(':checked') },
          }).done(function (result) {
          table.clear().draw();
          table.rows.add(result).draw();
       })
    });
    Dans la vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    class TransactionListAPIView(ListAPIView):
        queryset = Transaction.objects.all()
        pagination_class = DatatablePagination
        serializer_class = TeamTransactionListSerializer
        permission_classes = (permissions.IsAuthenticated,)
        authentication_classes = (TokenAuthentication, SessionAuthentication,)
     
        def get_queryset(self):
            qs = self.queryset
     
            if self.request.POST and self.request.POST['sAnoma']:
                qs = qs.filter(Q(anomaly__iexact=self.request.POST['sAnoma']))
    .../...
    Cela fonctionne mais il me faut apparement une fonction "post", une fonction get_objet ? get_context_data ?

    Au secours, si quelqu'un à déjà pratiqué ce genre de chose...
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/12/2016, 21h47
  2. [2.x] [Symfony 2] Paramètres POST non transmis via Ajax
    Par Intronaut dans le forum Symfony
    Réponses: 8
    Dernier message: 22/05/2014, 09h39
  3. [AJAX] tinyMce et la methode post via ajax
    Par karimphp dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/04/2008, 15h30
  4. [HTTP]passage de parametres via la methode post
    Par abdou.sahraoui dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/03/2008, 14h11
  5. charger donnees dans un datatable via ajax
    Par ouedmouss dans le forum JSF
    Réponses: 4
    Dernier message: 07/08/2006, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo