【发布时间】:2012-11-05 14:22:07
【问题描述】:
我想计算标签。我有帖子模型和标签模型,并且帖子模型有很多标签字段。当我想添加新帖子的同时我为帖子添加标签时,它必须增加标签计数。
我的帖子和标签模型:
class Post(models.Model):
tags = models.ManyToManyField(Tag,blank=True,null=True,verbose_name=_('tags'))
def save(self)
super(Post, self).save()
for i in self.tags.all():
i.save()
class Tag(models.Model):
name=models.CharField(max_length=30,verbose_name=_('name'))
count = models.IntegerField(blank=True,null=True,default=0)
slug = models.SlugField(blank=True,null=True)
def save(self):
self.slug = slugify(self.name.upper())
self.count = Post.objects.filter(tags__name=self.name).count()
super(Tag, self).save()
当我添加新帖子时,我查看标签模型并看到计数没有改变,但是当我在标签管理中按下保存按钮时,我看到了真实计数。但是我想在不按标签中的保存按钮的情况下查找标签管理员时查看实际计数。
我还希望当我编辑帖子时它不应该再次增加标签数。
【问题讨论】:
-
您似乎正在处理this 问题。
标签: python django django-models django-admin