我正在尝试为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
但是如何定义那些不受限制的列表(没有项目限制)..你能提出一个方法吗?
提前致谢
您需要使用ManyToManyField来实现此关系.
例如:
class Article (models.Model):
# rest of fields up to and including body
related_articles = models.ManyToManyField("self")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
291 次 |
| 最近记录: |