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和templates.i我在作者表中使用外键
答案 0 :(得分:1)
以下视图和html用于显示所有具有相应作者详细信息的书籍。
views.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用于特定作者相关详细信息的显示书籍。
views.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>