DjangoのManyToManyFieldの値が取れない

NO IMAGE

DjangoでManyToManyFieldのリストを取得しようと思ったら、できなくてハマった。例えば以下の状況を考えます。

class Publication(models.Model):
    title = models.CharField(max_length=30)

class Article(models.Model):
    headline = models.CharField(max_length=100)
    publications = models.ManyToManyField(Publication)

リストを取得しようとして、

# article_instanceをArticleのインスタンスとする
print article_instance.publications

すると、エラーで落ちてしまいます。そこで解決方法(というか、本来の使い方)は、

print article_instance.publications.all()

と、.all()でアクセスするべきです。そもそもManyToManyFieldはリストではないのです。意外と記述がなくて、時間を取られました。