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 :

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
Dans la vue, J'utilise simplement :
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})
L'erreur s'affichant étant :
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
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).

Merci de votre aide et bon dimanche à tous !