2009-05-27 17 views
0

私はすべてのモデルは、共通の「オブジェクト」モデルから継承することにより、Djangoプロジェクト有するオブジェクトのIDを(システム全体のすべてのオブジェクトは、一意の識別子を有しています)と "タイプ"の2つのタイプがあります。タイプは、特定のインスタンスが存在するオブジェクトのタイプです。これは「非正規化」フィールドのようなもので、オブジェクトからオブジェクトへのツリーの移動をより速くします。ジャンゴモデル継承: - 2つだけのフィールドを定義 - 重複クラスフィールド

基本的に私はObjectから継承する別のクラスと同じ名前を持つ継承されたモデルの一つのフィールド、持っている - 関係を下っためのフィールドが上書きされることを意味します。

私は誰にも似たような経験があった場合、それを解決するためのいずれかではなく、エレガントな方法があるかどうかを疑問に思った - ちょうど継承されたモデル内のフィールドの名前を変更する以外は。

答えて

1

たぶん、適切であろうリネーム。あなたの分野の一つは、クラスと同じ識別子を持っている場合(もちろん、これらは唯一の規則です、が)、あなたはいくつかの命名規則を破ることがあります。

PEP 8、セクション、命名規則を参照してください。

Class Names 

    Almost without exception, class names use the CapWords convention. 
    Classes for internal use have a leading underscore in addition. 


Method Names and Instance Variables 

    Use the function naming rules: lowercase with words separated by 
    underscores as necessary to improve readability.