0

インスタンスを保存した直後に、記事の URL を組み立ててどこかに送信したいと考えています。

ManyToMany オブジェクトの最初の項目である「カテゴリ」という URL の一部を取得できないことを除けば、すべて問題ありません。

私はこのようなものになりたい: 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()について知っています。私はそれを使用しますが、最初に引数を知りたいです

ありがとう

4

1 に答える 1

0

Texts モデルにタイプミスがあります:「category」ではなく「cetegory」(したがって、self.category.all() は空のリストを返します)

于 2013-01-28T11:03:58.220 に答える