首页 > 解决方案 > Django模型双向多对多声明?

问题描述

我有两个模型,文章和出版物,我在文章中声明了一个多对多字段。但是,我也希望有从出版物到文章的参考。仅声明另一个 ManyToManyField 的最佳方法是,即 Articles = models.ManyToManyField('Article'),如果是这样,我该如何使其链接到该链接表?

class Article(models.Model):
    headline = models.CharField(max_length=100)
    publications = models.ManyToManyField('Publication')

class Publication(models.Model):
    title = models.CharField(max_length=30)
    articles = ???

标签: pythondjangomany-to-many

解决方案


您以错误的方式声明模型正确的方式应该是:

class Publication(models.Model):
    title = models.CharField(max_length=30)
    

class Article(models.Model):
    headline = models.CharField(max_length=100)
    publication = models.ForeignKey(Publication, on_delete=models.CASCADE)

推荐阅读