我需要你的帮助,真的很基本。我有两个模型,Autor和Post,它们是多对一关系。我有问题检索的数据在html页面。我想做的是列出一个特定的作者在一个for中的所有帖子,除此之外,我需要显示作者的名字和姓氏。
非常感谢你的帮助。
class Autor(models.Model):
first_name = models.CharField(max_length=30, null=False, verbose_name='First Name')
last_name = models.CharField(max_length=30, null=False, verbose_name='Last Name')
def __str__(self):
return self.first_name
class Meta:
db_table = 'autor'
verbose_name = 'Autor'
verbose_name_plural = 'Autors'
ordering = ['id']
class Post(models.Model):
autor = models.ForeignKey(Autor, on_delete=models.CASCADE)
post = models.CharField(max_length=200, null=False, verbose_name='Post')
def __str__(self):
return self.post
class Meta:
db_table = 'post'
verbose_name = 'Post'
verbose_name_plural = 'Posts'
ordering = ['id'] ```
由于您没有在ForeignKey定义中指定related_name属性,因此Django会自动使用带有_set后缀的模型名创建一个related_name,例如,如果sample_author是Author的一个实例,那么这个查询将返回sample_author的所有文章:
author_posts = sample_author.post_set.all()
则可以在FOR循环中使用此查询结果中存在的所有帖子。
for post in author_posts:
do something
在这个循环之外,您可以通过sample_author.first_name
和sample_author.last_name
访问sample_author实例的first_name和last_name
.