Bonjour à tous,
J'ai un petit problème avec les liaisons de tables sous django. J'ai suivi à la lettre le tuto sur djangobook, mais je me retrouve toujours avec la meme erreur.
Le code de model :
Dans la vue, J'utilise simplement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 from django.db import models class Article (models.Model): title=models.CharField(max_length=100) content=models.TextField() keywords=models.CharField(max_length=300) category_article=models.ForeignKey('Category_article',null=True) insert_dt=models.DateField() picture = models.CharField(max_length=100,null=True) def __unicode__(self): return self.title class Comment (models.Model): article = models.ForeignKey(Article) content =models.TextField() name=models.CharField(max_length =100) rate= models.IntegerField() insert_dt=models.DateField() url =models.URLField() email=models.EmailField() def __unicode__(self): return self.name class Category_article(models.Model): name=models.CharField(max_length=100) insert_dt=models.DateField() details=models.TextField() def __unicode__(self): return self.name
L'erreur s'affichant étant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #blog page (display the first 20 articles) def blog(request): articles= Article.objects.all().order_by("-insert_dt")[:20] articles.comment_set.all() return render_to_response('portfolio/blog/index.html',{'articles':articles})
Si J'enlève la ligne dans la vue - articles.comment_set.all() - L affichage fonctionne (pour les données de la table articles seulement bien sur).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 AttributeError at /blog/ 'QuerySet' object has no attribute 'comment_set' Request Method: GET Request URL: http://127.0.0.1:8000/blog/ Django Version: 1.2.3 Exception Type: AttributeError Exception Value: 'QuerySet' object has no attribute 'comment_set' Exception Location: /home/johann/mysite/../mysite/portfolio/views.py in blog, line 20 Python Executable: /usr/bin/python Python Version: 2.6.5 Python Path: ['/home/johann/mysite', '/usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/python2.6/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/local/lib/python2.6/dist-packages'] Server time: Sat, 9 Oct 2010 18:50:36 -0500 Traceback Switch to copy-and-paste view /usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py in get_response response = callback(request, *callback_args, **callback_kwargs) ... ▶ Local vars /home/johann/mysite/../mysite/portfolio/views.py in blog articles.comment_set.all() ... ▶ Local vars
Merci de votre aide et bon dimanche à tous !
Partager