2012-05-05 11 views
0

下図のように私は、キャンペーンへのManyToManyField関係を持つモデルチャリティーを持っている:Djangoの_setエラー:「『キャンペーン』オブジェクトが属性 『charity_set』を持っていない」

class Charity(models.Model): 
    name = models.CharField(max_length=200) 
    description = models.TextField(blank=True,null=True) 
    tag_line = models.CharField(max_length=160, blank=True,null=True) 
    campaigns = models.ManyToManyField(Campaign, related_name='campaign_charity') 
    ... 

のManyToManyFieldは正常に動作、およびキャンペーン。 all()は、慈善団体に関連付けられた正しいキャンペーンセットを返します。 object.charity_setを使用してオブジェクトの逆セットを取得しようとすると、次のエラーが発生します。

Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
AttributeError: 'Campaign' object has no attribute 'charity_set' 

何らかの理由がありますか?ありがとうございました!

答えて

8

related_name属性がデフォルトのmodel_set属性を上回ると私は信じています。

私がしようとするだろう:

object.campaign_charity.all() 

あなたが今まで属性とオブジェクトのメソッドを見に先端のためのオブジェクトの実行dir(object)

+0

+1のすべての属性/メソッドを見たい場合。 – Paragon

関連する問題