Django-fr

Forum

#26 30-09-2011 10:27:08

Julien Bouquillon
Membre
Inscription : 26-09-2011
Messages : 25

Re : test egalite

oui les mails pour lire du code c'est juste illisible

si t'as pas de repo git, colles tes fichiers dans un gist c'est le minimum

tu vas voir c'est genial smile

Le 30 septembre 2011 11:18, BILLION Sébastien
<sebastien.billion _AT_ gmail.com>a écrit :

>  Tu veux pas nous mettre les sources sur un GIT?
> J'ai pas dit que j'abandonnais. J'ai juste demander à avoir les sources du
> projet pour avoir une meilleur visibilité et évitais d'y passer encore 20
> mails pour résoudre le problème.
>
>
>
>  BILLION Sébastien
>
> the Answer to the ultimate question of life, the universe and everything is
> **42**
>
> http://www.sebastienbillion.com/
>
> Le 30/09/2011 11:15, sesame a écrit :
>
> merci quand même d'avoir essayé de m'aider
> _______________________________________________
> django mailing listdjango _AT_ lists.afpy.orghttp://lists.afpy.org/mailman/listinfo/django
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#27 30-09-2011 10:43:17

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

c'est idiot mais j'ai jamais pratiqué a par ce forum
pas de problème mais comment je fais (simplement) ?

je me connecte sur http://gist.github.com  et apres ?

Hors ligne

#28 30-09-2011 10:47:07

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

Euh... Tu remplis et tu cliques sur les bouttons?

BILLION Sébastien

the Answer to the ultimate question of life, the universe and everything
is 42

http://www.sebastienbillion.com/ <http://www.sebastienbillion.com/>

Le 30/09/2011 11:43, sesame a écrit :
> c'est idiot mais j'ai jamais pratiqué a par ce forum
> pas de problème mais comment je fais (simplement) ?
>
> je me connecte sur http://gist.github.com  et apres ?
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#29 30-09-2011 10:48:02

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

j'ai jamais pratiqué

je me connecte sur   https://gist.github.com/  et apres  ?

Hors ligne

#30 30-09-2011 10:48:07

Julien Bouquillon
Membre
Inscription : 26-09-2011
Messages : 25

Re : test egalite

tu crées un compte github s'il y a besoin

pour chaque gist tu peux attacher plusieurs fichiers.
Il suffit de mettre un nom de fichier avec  .py et de coller le code en
dessous.

ensuite c'est public, il suffit de nous donner l'url et on peut modifier


ju


2011/9/30 sesame <pat.100 _AT_ hotmail.fr>

> c'est idiot mais j'ai jamais pratiqué a par ce forum
> pas de problème mais comment je fais (simplement) ?
>
> je me connecte sur http://gist.github.com  et apres ?
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#31 30-09-2011 11:08:07

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

j'ai envoyé sous le nom BDD_Materiaux

Hors ligne

#32 30-09-2011 11:10:20

Julien Bouquillon
Membre
Inscription : 26-09-2011
Messages : 25

Re : test egalite

c'est l'adresse du gist qu'il nous faut




2011/9/30 sesame <pat.100 _AT_ hotmail.fr>

> j'ai envoyé sous le nom BDD_Materiaux
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#33 30-09-2011 11:14:04

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

smile
BILLION Sébastien

the Answer to the ultimate question of life, the universe and everything
is 42

http://www.sebastienbillion.com/ <http://www.sebastienbillion.com/>

Le 30/09/2011 12:10, Julien Bouquillon a écrit :
> c'est l'adresse du gist qu'il nous faut
>
>
>
>
> 2011/9/30 sesame <pat.100 _AT_ hotmail.fr <mailto:pat.100 _AT_ hotmail.fr>>
>
>     j'ai envoyé sous le nom BDD_Materiaux
>     _______________________________________________
>     django mailing list
>     django _AT_ lists.afpy.org <mailto:django _AT_ lists.afpy.org>
>     http://lists.afpy.org/mailman/listinfo/django
>
>
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#34 30-09-2011 12:23:13

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Hors ligne

#35 30-09-2011 12:25:56

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Hors ligne

#36 30-09-2011 14:43:51

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

là:

try:
        if 'q' and 'fil' in request.GET:
            q = int(request.GET['q'])
            val1 = request.GET['fil'] # densite....
            materiaux = Material.objects.all()
            mat = UniteProperty.objects.filter(
              Q(val_champ__icontains = val1) & Q(val__gt=q-0.1,
val__lte=q)) mat n'est pas une liste de Material mais de UnitProperty !!!!


Donc quand tu fais mater2.name comme UnitProperty.name est une
ForeginKey sur Material, tu as un retour de l'unicode de material soit

def __unicode__(self):
         return self.name

Du coup c'est pour ça qu'un print de mater2.name et de mater.name
renvoit le nom d'un materiel mais en aucun cas mater2 n'est un Materiel!!!!
mater2 devrait s'appeler unitProp et être traité en conséquence!!!
Donc si tu fais mater2.get_absolute_url alors que aucun get_absolute_url
n'est défini dans le model de UnitProperty, tu retournes vers ta page
courante avec aucun objet en requete et tu vas donc directement dans le
else!!!

Donc si j'ai bien comprsi tu cherches simplement une Unitproperty avec
ta fonction search_filter et tu aimerais afficher les matériaux qui
correspondent c'est ça?

Alors dans ce cas là tu t'y es juste très mal pris... A la place tu
pourrais simplement:

def search_filter(request):
     errors = []
     mat = []
     q = []
     val1 = []

     materiaux = []

     try:
        if 'q' and 'fil' in request.GET:
            q = int(request.GET['q'])
            val1 = request.GET['fil'] # densite....
            units = UniteProperty.objects.filter(
              Q(val_champ__icontains = val1) & Q(val__gt=q-0.1,
val__lte=q)) materials = Material.objects.all()

            for unit in units:
                if unit.name in materials:
                   materiaux.append(Material.objetct.get(name=unit.name)) #### Si ca ne marche pas avec append, essaie avec += , je me plante à chaque fois alors je sais plus.



     except ValueError, error:
        return render_to_response('materiaux/message.html',
                                   locals(),
                                   context_instance=RequestContext(request))
     else:
         pass
             #On ne renvoit plus mat (ou units) puisque ça ne sert que
pour la récup des matériaux
         return render_to_response('materiaux/search_results_filt.html',
             {'materiaux' : materiaux,
              'query': q,
              'query': val2,
              'query': val1,
             })
     return render_to_response(
         {'errors': errors})


Et dans ton template t'affiche simplement:

{% for mat in materiaux %}
<a href="{{ mat.get_absolute_url }}" >  {{ mat.name }} </a>


J'espère que tu as bien compris où était le problème et que mes
explications sont pas trop confuses.
Avec ce système cela devrait fonctionner sans soucis. Il était
impossible de t'aider en pensant que mater2 était un material. Attention
au nom d'objet, peut-être que tu t'y retrouves, mais les autres non. il
faut respecter une certaine logique entre le model et le nom de
l'instance pour une meilleur visibilité.La preuve, cela aurait pu nous
faire gagner beaucoup de temps!!!!


BILLION Sébastien

the Answer to the ultimate question of life, the universe and everything
is 42

http://www.sebastienbillion.com/ <http://www.sebastienbillion.com/>

Le 30/09/2011 13:25, sesame a écrit :
> BDD_Materiaux
>
> https://gist.github.com/fdd81a95d229a15401ee/0f09de155b8eb96ebd61a5f39cfa794e35ceb7d6
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django

Hors ligne

#37 01-10-2011 05:42:38

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

Merci beaucoup, je viens de tester ca marche !!!

effectivement je n'y serai jamais arrivé...je comprend mieux

aussi parceque je n'ai jamais utilisé (par ignorance) certaines procedures de programmation comme

for unit in units:
               if unit.name in materials:
                  materiaux.append(Material.objects.get(name=unit.name))


merci encore de ton aide, du temps que tu as consacré a mon probleme

Hors ligne

#38 01-10-2011 10:10:36

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

Pas de soucis. La double bloucle for est aussi une solution. Il y avait
plusieurs moyen d'y parvenir. Il te suffisait juste de ne pas manipuler
un unit comme un material car ce ne sont pas du tout les même objet.
Donc ton problème était simplement lié à une mauvaise compréhension de
tes objets. Penses à utiliser des noms de variables logique pour plus de
clarté.

Bon week end

Hors ligne

Pied de page des forums