ForeignKey关系更好理解

时间:2011-09-02 09:16:31

标签: django

如果Django世界有人可以教授有关现场查找的最佳实践,以及它们的工作原理。我试过他们的文档,但我发现它特别混淆模型和数据库视图之间的关系。

例如,假设我们有以下结构: 视图应该如何看待以及处理这种情况的最佳方法是什么。

模特:

class Article(models.Model):

    Author  = models.CharField(max_length=255)
    Title   = models.CharField(max_length=255)
    Content = models.TextField()



class comments(models.Model):

    TheArticle = models.ForeignKey(Article)
    c_Author   = models.CharField(max_length=255)
    c_Title    = models.CharField(max_length=255)
    c_Content  = models.TextField()

查看:

def page(request , URL_Title ): #comes trough the url setup 
   article = Article.objects.get( Title=URL_Title )
   comments = # What is the Django way in getting the comments for the specified article ?
   return render_to_response('base.html' , {'article':article , 'comments':comments } )

Themplate:

{% if article %}
 .....Print all the article related fields .....
   {% if comments %}
      {% for comment in comments %}
         .....Print Comment .....
      {% endfor %}
   {% endif %}
{% endif %}

如果你有时间在ManyToMany关系上的例子也会有所帮助 任何帮助都非常感谢。

1 个答案:

答案 0 :(得分:1)

正如Following relationships "backward"中所述,可以通过Manager自动提供Article模型实例。有关操纵相关字段的信息,请参阅ForeingKey.related_name attribute

article = Article.objects.get( Title=URL_Title )
comments = article.comments_set.all()