0
  This is my models.py file 


 from django.db import models

   class Author(models.Model):
        first_name = models.CharField(max_length=30)
        last_name = models.CharField(max_length=40)
        email = models.EmailField()
        age=models.IntegerField()

        class Meta:
        db_table=u'Author Info'

        def __unicode__(self):
            return u"%d %s %s %s" % (self.pk, self.name, self.author.name, self.publisher_name)

        def books(self):
            return Book.objects.filter(author=self)

    class Book(models.Model):
        book_name=models.CharField(max_length=30)
        publisher_name=models.CharField(max_length=40)
        author=models.ForeignKey(Author)

        class Meta:
            db_table = u'Book Name'

        def __unicode__(self):
            return u'%d %s %s' % (self.pk, self.first_name, self.last_name)

我想在 django 中显示 2 个表中的数据。请指导我如何编写 views.py 和模板。我在作者表中使用外键

4

1 回答 1

1

以下视图和 html 用于显示具有相应作者详细信息的所有书籍。

视图.py

def client_add(request):
   books = Book.objects.all()
   return render_to_response('book_details.html', locals(),    context_instance=RequestContext(request))

book_details.html

<body>
{% for book in books %}
{{book.book_name}}
{{book.publisher_name}}
{{book.author.first_name}}
{{book.author.last_name}}
{{book.author.email}}
{{book.author.age}}
{% endif %}
</body>

以下视图和 html 用于显示特定作者对应详细信息的书籍。

视图.py

def client_add(request):
   books = Book.objects.all(author_last_name ="author_last_name")
   return render_to_response('book_details.html', locals(),    context_instance=RequestContext(request))

book_details.html

<body>
{% for book in books %}
{{book.book_name}}
{{book.publisher_name}}
{{book.author.first_name}}
{{book.author.last_name}}
{{book.author.email}}
{{book.author.age}}
{% endif %}
</body>
于 2013-03-02T10:24:33.913 回答