Django多个标记字段

时间:2012-06-03 00:26:13

标签: python django tags manytomanyfield

我正在尝试为django找到一个很好的教程如何在模型中创建多个标签。

例如:

class Tag(models.Model):
   name = models.CharField()

class Sample(models.Model):
   name = models.CharField()
   urlA  = models.CharField()
   urlB  = models.CharField()
   tagA = models.ManyToManyField(Tag)
   tagB = models.ManyToManyField(Tag)

我想将标签显示为输入字段,并用','分隔,并在save方法中拆分。所以我想为2标签字段看到2个不同的输入。

如果你有一个简单的方法或知道一个好的教程,请告诉我! :)

谢谢你们!

1 个答案:

答案 0 :(得分:0)

编辑:您不必将实际的表集放在上面。您可以生成任何想要查看的查询集。您的网址配置可以设置为显示多个网址的详细信息视图。如果我仍然不理解,请完善您的问题。

对于多个任何标签类别,你要么去m21或m2m。因此,在创建标签时,您可以逐个添加标签。您是否熟悉Django ORM的一些管理功能?请仔细查看文档。你解决这个问题的方法是合理的。不试图以错误的方式揉你,我不是天才。你可以这样做。

class Tag(models.Model):
    title = models.CharField(max_length=250, blank=True)
    slug = models.SlugField(blank=True

    class Meta:
        verbose_name = "tag"
        verbose_name_plural = "tags"
        ordering = ['title']

    @models.permalink
    def get_absolute_url(self):
     return "/tags/%s/" % self.slug

class Entry(models.Model):
    title = models.CharField(max_length=250, blank=True)
    body = models.TextField()
    tags = models.ManyToMany('Tag')
    slug = models.SlugField()


    @models.permalink
    def get_absolute_url(self):
        return "/blog/%s/" % self.slug

还有更多的代码需要为EntryAdmin和TagAdmin模型完成,还有许多其他事情也可以完成。如果你能更清楚的话,我不确定你想要实现的目标是什么?谢谢,以上是我将如何处理它的粗略说明。