Vous n'êtes pas identifié(e).
Bonjour
je loupe un truc dans la definition de mon model
j'ai un style avec plusieurs couleurs et une liste de couleur
j'ecrit donc dans mon model de style
couleur1 = models.ForeignKey(Color, blank=true null=true)
couleur2 = models.ForeignKey(Color, blank=true null=true)
couleur3 = models.ForeignKey(Color, blank=true null=true)
et ça ne passe pas
couleur1 = models.ForeignKey(Color, blank=true null=true) passe bien donc
si quelqu'un a un avis sur ce que je ne fait pas bien ?
T.
Hors ligne
Bonjour,
je pense que tu vas avoir un flot de réponse, mais voilà ma petite
contribution :
http://code.djangoproject.com/ticket/217
<http://code.djangoproject.com/ticket/217>Il suffit donc d'utiliser un nom,
pour typer plus clairement ta relation,
Cordialement,
Olivier.
Le 25 mai 2011 17:09, Tonton <to.tonton _AT_ gmail.com> a écrit :
> Bonjour
> je loupe un truc dans la definition de mon model
>
> j'ai un style avec plusieurs couleurs et une liste de couleur
>
> j'ecrit donc dans mon model de style
>
> couleur1 = models.ForeignKey(Color, blank=true null=true)
> couleur2 = models.ForeignKey(Color, blank=true null=true)
> couleur3 = models.ForeignKey(Color, blank=true null=true)
>
> et ça ne passe pas
> couleur1 = models.ForeignKey(Color, blank=true null=true) passe bien donc
> si quelqu'un a un avis sur ce que je ne fait pas bien ?
>
> T.
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Le 25 mai 2011 à 17:09, Tonton a écrit :
> et ça ne passe pas
C'est vague comme description du problème ... Tu as quoi ? une syntax error ?
> couleur1 = models.ForeignKey(Color, blank=true null=true) passe bien donc si quelqu'un a un avis sur ce que je ne fait pas bien ?
Déjà utilise True plutôt que true
Hors ligne
si tu fournissais le message d'erreur du "ça ne passe pas" ça aiderais De
plus, faire un copier coller de ton code au lieu de le réécrire (et d'y
inclure plein de fautes de syntaxe) serait plus judicieux.
J'imagine que tu as un message d'erreur te disant qu'il faut donner un nom à
tes FK, puisqu'elles sont plusieurs à pointer sur le même modèle. Tu peux
faire ça en spécifiant le "related_name" (nom que vas prendre la relation
inverse).
Exemple:
class Foo(models.Model):
couleur1 = models.ForeignKey(Color, blank=True, null=True,
related_name='colors1')
couleur2 = models.ForeignKey(Color, blank=True, null=True,
related_name='colors2')
couleur3 = models.ForeignKey(Color, blank=True, null=True,
related_name='colors3')
Du coup, tu pourras faire par exemple :
color = Color.objects.get(foo='bar')
foos_ayant_couleur_1 = color.colors1.all()
Mathieu
Le 25 mai 2011 17:09, Tonton <to.tonton _AT_ gmail.com> a écrit :
> Bonjour
> je loupe un truc dans la definition de mon model
>
> j'ai un style avec plusieurs couleurs et une liste de couleur
>
> j'ecrit donc dans mon model de style
>
> couleur1 = models.ForeignKey(Color, blank=true null=true)
> couleur2 = models.ForeignKey(Color, blank=true null=true)
> couleur3 = models.ForeignKey(Color, blank=true null=true)
>
> et ça ne passe pas
> couleur1 = models.ForeignKey(Color, blank=true null=true) passe bien donc
> si quelqu'un a un avis sur ce que je ne fait pas bien ?
>
> T.
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Bonjour,
Le 25/05/2011 17:09, Tonton a écrit :
> couleur1 = models.ForeignKey(Color, blank=true null=true)
> couleur2 = models.ForeignKey(Color, blank=true null=true)
> couleur3 = models.ForeignKey(Color, blank=true null=true)
En fait il faut lui indiquer des "noms" différents pour chacune des relations complémentaires ; quelque chose du genre :
couleur1 = models.ForeignKey(Color, verbose_name="Couleur 1")
couleur2 = models.ForeignKey(Color, related_name='color2', verbose_name="Couleur 2")
couleur3 = models.ForeignKey(Color, related_name='color3', verbose_name="Couleur 3")
Cordialement.
Hors ligne
J'ajoute :
http://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.ForeignKey.related_name
Pour la documentation.
Il y a aussi :
http://docs.djangoproject.com/en/dev/topics/db/queries/#related-objects
Le 25 mai 2011 17:17, Mathieu AGOPIAN <mathieu.agopian _AT_ gmail.com> a écrit :
> si tu fournissais le message d'erreur du "ça ne passe pas" ça aiderais
> De plus, faire un copier coller de ton code au lieu de le réécrire (et d'y
> inclure plein de fautes de syntaxe) serait plus judicieux.
>
> J'imagine que tu as un message d'erreur te disant qu'il faut donner un nom
> à tes FK, puisqu'elles sont plusieurs à pointer sur le même modèle. Tu peux
> faire ça en spécifiant le "related_name" (nom que vas prendre la relation
> inverse).
>
> Exemple:
>
> class Foo(models.Model):
> couleur1 = models.ForeignKey(Color, blank=True, null=True,
> related_name='colors1')
> couleur2 = models.ForeignKey(Color, blank=True, null=True,
> related_name='colors2')
> couleur3 = models.ForeignKey(Color, blank=True, null=True,
> related_name='colors3')
>
> Du coup, tu pourras faire par exemple :
> color = Color.objects.get(foo='bar')
> foos_ayant_couleur_1 = color.colors1.all()
>
> Mathieu
>
>
> Le 25 mai 2011 17:09, Tonton <to.tonton _AT_ gmail.com> a écrit :
>
>> Bonjour
>> je loupe un truc dans la definition de mon model
>>
>> j'ai un style avec plusieurs couleurs et une liste de couleur
>>
>> j'ecrit donc dans mon model de style
>>
>> couleur1 = models.ForeignKey(Color, blank=true null=true)
>> couleur2 = models.ForeignKey(Color, blank=true null=true)
>> couleur3 = models.ForeignKey(Color, blank=true null=true)
>>
>> et ça ne passe pas
>> couleur1 = models.ForeignKey(Color, blank=true null=true) passe bien donc
>> si quelqu'un a un avis sur ce que je ne fait pas bien ?
>>
>> T.
>>
>>
>> _______________________________________________
>> django mailing list
>> django _AT_ lists.afpy.org
>> http://lists.afpy.org/mailman/listinfo/django
>>
>
>
>
> --
> ====================================
> Mathieu AGOPIAN
> +33 (0)6 14 56 96 41
> http://mathieu.agopian.info
> ====================================
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne