繁体   English   中英

在Django中自动标记

[英]Automatic tagging in django

因此,我有一个名为Post的简单django模型,其中包含有关发布消息的用户及其自身消息的日期。

class Post(models.Model):
     user = models.ForeignKey(settings.AUTH_USER_MODEL,
     related_name="posts",null=False)
     text = models.CharField(max_length=400)
     date_created = models.DateField(auto_now_add=True,auto_now = False)
     date_modified = models.DateField(auto_now=True)
     tags = models.ManyToManyField(Tag,related_name="posts")

而且我需要实现一个类似twitter的标记系统。 因此,当Post被保存时,我需要从文本字段中捕获标签,并以某种方式将它们放置在many2many关系中,以便我能够执行诸如'tag.posts'之类的事情来获取所有带有此标签的Post或采用其他方式。 我有捕获标签的算法,但是在创建/编辑/保存帖子时,我坚持执行这种自动创建标签对象的方法。 我已经尝试覆盖save方法,创建一个Manager或监听post_save信号,但是它不起作用。

如何做到最好? 先感谢您!

我的建议是捕获pre_save信号并创建不存在的标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM