2009-07-24 14 views
0

オブジェクトに対して複数テーブルの継承を使用しています。親オブジェクトの外部キー参照の選択を、子システムを適用するルールのみに制限する必要があります。継承された動作のオーバーライド

from schedule.models import Event, Rule 

class AirShowRule(Rule): 
    """ 
    Inheritance of the schedule.Rule 
    """ 
    rule_type = models.TextField(default='onAir') 

class AirShow(Event): 
    station = models.ForeignKey(Station) 
    image = models.ImageField(upload_to='images/airshow', null=True, blank= True) 
    thumb_image = models.ImageField(upload_to='images/airshow', null=True, blank= True) 

ここで、管理者は、AirShowRuleをAirShow(イベント)の選択肢にしたいだけです。私が得るのは、schedule.eventシステムにあるすべてのルールです。

は私がリストされたクラスの構造に見http://code.google.com/p/django-schedule/

答えて

1

で発見ジャンゴ・スケジュールから継承しています、そしてあなたはこれを追加する必要がありますに変更ストレートすべて(を取得する必要があります

class AirShow(Event): ... your stuff... rule = models.ForeignKey(AirShowRule, null = True, blank = True, verbose_name="VERBOSE NAME", help_text="HELP TEXT") 

"ルール" から "AirShowRule")

あなたも、あなたがAirShowRuleを実装することを確認する必要がありますより完全に私はあなたがrule_typeをオーバーライドしていない、とあなたがしている場合、私はそれはあなたが

*が見たいことすべてをやるとは思わない想像のとおりmodels.py:23

...この行がされました引数の変更でmodels.py:103から撮影:verbose___name & help_textに(おそらくオプションが、私はあなたが検査するためにことを残しておきます)

私は前にこれらのモジュールを使用していないことに注意してください、これはあなたを与える必要があります続けるためのプッシュ:

+0

ありがとう、私はこの解決策を探しています。 –

+0

私は別の問題に置かれ、来週にこの問題に戻るでしょう。 –