Django 多标签字段



我正在尝试为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)

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

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

谢谢你们!

编辑:您不必过度放置实际的表格集。您可以生成要设置视图的任何查询集。您的 url conf 可以设置为显示来自多个 url 的详细信息视图。如果我仍然不明白,那么请完善您的问题。

对于拥有多个任何东西标签类别,您的 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模型,还有更多的代码要做,还有许多其他事情可以做。我不确定你想用它实现什么,如果你能更清楚的话?谢谢,以上是我如何处理它的粗略说明。

我从这里找到了一个解决方案:
https://dev.to/thepylot/how-to-add-tags-to-your-models-in-django-django-packages-series-1-3704

Django-taggit 对于标记非常有用。

是的

一个

可重用的应用程序,主要为您提供一个标签模型,以及一个管理器,用于轻松地向任何模型添加标签。

pip install django-taggit

之后,打开 settings.py 并编辑已安装的应用程序部分:

INSTALLED_APPS = [
    ...
    'taggit' 
]

之后,编辑模型并添加如下所示的标签:

tags = TaggableManager()

可标记管理器将自动显示为模型窗体或管理员中的字段。

文档:https://django-taggit.readthedocs.io/en/latest/index.html

相关内容

  • 没有找到相关文章

最新更新