我有这样的模式来拯救员额从用户:覆盖保存方法在许多添加列表到许多领域
class Tag(models.Model):
name = models.CharField(max_length=255, unique=True)
def add_tags(obj_id, body):
object = Post.objects.get(id=obj_id)
tag_list = [Tag.objects.create(name=word) for word in body.split()]
for tag in tag_list:
object.tags.add(tag)
class Post(models.Model):
user = models.ForeignKey(User)
body = models.TextField()
tags = models.ManyToManyField(Tag, blank=True)
pub_date = models.DateTimeField(default=timezone.now)
activity = GenericRelation(Activity, related_query_name="posts")
def save(self, *args, **kwargs):
super(Post, self).save(*args, **kwargs)
if self.body:
body = self.body
obj_id = self.id
add_tags(obj_id, body)
所以每当一个用户后的东西,我想看看是否有任何散列身体内使用的标签。如果有标签,则获取列表中的标签。
但是当我发布时,标签对象被创建,但它们不会添加到Post.tags字段。
post.body example = Check#from the http://somesitedotcom/page#idtop#shell yeah!
我在这里做错了什么?
专业提示:您不需要添加[请帮助我](https://stackoverflow.com/search?q=user%3A2634889+please+help+me)或类似于您的所有问题。很明显,你需要帮助,所以这种填充材料可能会被解释为乞求,而且它常常被编辑剪裁。 – halfer
@halfer好吧,明白了。谢谢。 – Robin