访问ManyToMany对象以使用Django创建URL

时间:2013-01-25 14:05:08

标签: django url many-to-many

我想在保存实例后立即汇编文章的URL并将其发送到某处。

一切都没问题,除了我无法获得URL的一部分,即“类别”,它应该是ManyToMany对象的第一项。

我想最终得到这样的东西: http://www.example.com/category/article.html

代码:

class Categories(models.Model):
    ...
    name = models.CharField(max_length=150, blank=False)
    slug = models.SlugField()

class Texts(models.Model):
    ...
    slug = models.SlugField()
    title = models.CharField(max_length=150, blank=False)
    subtitle = models.TextField(blank=True)
    cetegory = models.ManyToManyField(to=Categories, blank=True)
    def get_absolute_url(self):
        #firstpart = self.category.all()  #returns empty list
        #firstpart = self.category        #returns empty list
        #firstpart = Categories.objects.all().filter(texts__slug = self.slug) #returns empty list
        lastpart = self.Slug              #this is ok
        return firstpart[0] + "/" + lastpart + ".html" 
models.signals.post_save.connect(post_to_twitter, sender=Texts)

...是的,我知道reverse(),我将使用它,但首先我想知道参数

感谢

1 个答案:

答案 0 :(得分:0)

你在文本模型中有一个拼写错误:'category'而不是'category'(所以self.category.all()返回空列表)