Vous n'êtes pas identifié(e).
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
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
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
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
j'ai jamais pratiqué
je me connecte sur https://gist.github.com/ et apres ?
Hors ligne
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
j'ai envoyé sous le nom BDD_Materiaux
Hors ligne
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
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
Hors ligne
BDD_Materiaux
Hors ligne
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
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
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