我似乎对Django的ForeignKey和ManyToManyField有些混淆。假设我有以下两个模型:
class Author(models.Model):
name = models.CharField(...)
class Paper(models.Model):
title = models.CharField(...)
一篇论文可能有多个作者。可以采取以下两种方式之一:
a) 在 Paper
中添加一个 authors
字段,并将作者添加到 Paper
实例中:
authors = models.ManyToManyFields(Author)
b) 或者,我可以创建另一个模型,其中包含一篇论文的作者:
class PaperAuthor(models.Model):
paper = models.ForeignKey(Paper)
author = models.ForeignKey(Author)
以上两个哪一个是正确的?