0
我有这些模型:Django的:返回所有作者撰写的所有书籍
class Author(models.Model):
#id = models.IntegerField(blank=True)
code = models.CharField(verbose_name="Author Code", max_length=100, unique=True)
firstname = models.CharField(verbose_name="First Name", max_length=200)
lastname = models.CharField(verbose_name="Last Name",max_length=200)
#Optional Fields
middlename = models.CharField(verbose_name="Middlename", max_length=200, null=True, blank=True)
email = models.EmailField(verbose_name="Author's Email",max_length=75, null=True, blank=True)
sex = models.CharField(verbose_name="Sex", max_length=1, choices=(('M', 'Male'), ('F', 'Female')), null=True, blank=True)
salutation = models.CharField(verbose_name="Salutation",max_length=10, null=True, blank=True)
suffix = models.CharField(verbose_name="Suffix", max_length=10, null=True, blank=True)
def __unicode__(self):
return u'%s %s (%s)' % (self.firstname, self.lastname, self.code)
class Book(models.Model):
#book title
#book_id = models.IntegerField(blank=True)
title = models.CharField(verbose_name="Book Title", max_length=200)
subtitle = models.CharField(verbose_name="Book Subtitle", max_length=200, null=True, blank=True)
#Reference information
accession_number = models.CharField(verbose_name="Accession Number", max_length=100)
call_number = models.CharField(verbose_name="Call Number", max_length=100)
isbn = models.CharField(verbose_name="ISBN Code", max_length=100, null=True, blank=True, unique=False)
dewey_class = models.ForeignKey(DeweyClass, verbose_name="Dewey Class", null=True, default=False, unique=False)
subject = models.CharField(verbose_name="Subject", max_length=100)
#authorship information
author = models.ManyToManyField(Author, verbose_name="Book Author")
pages = models.IntegerField(verbose_name="Number of Pages")
edition = models.CharField(verbose_name="Edition", max_length=100, null=True, blank=True)
volumes = models.CharField(verbose_name="Volume Number", max_length=100, null=True, blank=True)
#
现在,在前端,我想与他们做了书显示作者的列表,一起。
是这样的:
J.R.R.托尔金
- 的指环王
- 霍比特人
此标记似乎只在列表工作。 我想要达到这样的效果: http://lms.ndmc.edu.ph/opac/authors/?q=A – 2013-04-29 08:39:24
重组标记也可以在查询集上工作。在你的例子中,它不起作用,因为作者和书籍之间的关系是ManyToMany字段。如果您可以切换到ForeignKey字段,那么在视图中必须将查询集转换为适当的列表。 – Ponytech 2013-04-29 11:32:59
我已经更新了我的答案,以使其与M2M关系一起工作 – Ponytech 2013-04-29 11:39:44