Django:使用未定义的字段数制作模型

Ole*_*nko 2 django models

我正在尝试为Article站点创建一个模型.我想将每篇文章与3-5篇相关文章联系起来,所以我想的是以这种方式创建代码:

class Article (models.Model):
    # Tiny url
    url = models.CharField(max_length = 30, unique=True)
    is_published = models.BooleanField()
    author = models.CharField(max_length = 150)
    title = models.CharField(max_length = 200)
    short_description = models.TextField(max_length = 600)
    body = tinymce_models.HTMLField()
    related1 = models.ForeignKey(Article)
    related2 = models.ForeignKey(Article)
    related3 = models.ForeignKey(Article)
Run Code Online (Sandbox Code Playgroud)

但不确定是否可以与同一模型建立外键关系.另外,例如,如果我决定将6,7篇文章绑定在一起,那将是如何工作的,我是否必须在模型中编写相关的4,5,6 .... 我想有更常见的解决方案,所以如果我绑定更多的文章,我不需要一次又一次地重新定义代码

我在想的不是扩展相关领域的文章模型..(看起来很难看)也许值得创建另一个模型?例如:ArticleSet

但是如何定义那些不受限制的列表(没有项目限制)..你能提出一个方法吗?

提前致谢

Ben*_*mes 5

您需要使用ManyToManyField来实现此关系.

例如:

class Article (models.Model):
    # rest of fields up to and including body
    related_articles = models.ManyToManyField("self")
Run Code Online (Sandbox Code Playgroud)