管理员中的Django多对多问题

时间:2010-08-24 22:25:33

标签: python django django-models django-admin

我实际上是在django中创建一个博客应用程序,作为学习绳索和提高我在django中的技能水平的一种方式。我基本上有一个多对多的关系,我在管理网站有问题。我有两种主要类型,Article和ArticleTag。许多文章可以属于许多文章标签,并且这种关系应该是双向的,以便能够“跟随”任何一方的关系。

我遇到的问题是,在管理面板中,当我创建新文章时,它不允许我创建新文章而不创建新的文章标签,如果不创建新文章就无法创建文章等我如何正确地进行这些工作并且是可选的?另外,是否有一种相当简单的方法来创建一个控件,以便于根据堆栈溢出或delicious.com进行标记?我是管理系统的新手:)

1 个答案:

答案 0 :(得分:3)

您忘记在blank=True声明中指定ManyToManyField

class Article(models.Model):
    tags = models.ManyToManyField(ArticleTag, blank=True, 
        related_name="articles")
  

另外,是否有一种相当简单的方法来创建一个控件来促进标记,如堆栈溢出或delicious.com?

没有任何内置功能,但有一些Django的附加库可以进行标记。其中一个可能符合您的需求。