2016-12-19 4 views
0

他のモデルが基本情報(Created_Date、Mod_date、Created_by、Mod_byなど)をトラッキングするために継承する抽象基本クラスを作成したいと思います。以下のような: のために(fields.E304)リバースアクセサ:Djangoで作成され、抽象基底クラスで変更された

takeoffs.Takeoff.added_by:私は複数の他のモデルでは、このクラスを使用する場合

class MetaDataModel(models.Model): 
    added_by = models.ForeignKey(settings.AUTH_USER_MODEL,) 
    modified_by = models.ForeignKey(settings.AUTH_USER_MODEL) 
    created = models.DateTimeField(auto_now_add=True) 
    modified = models.DateTimeField(auto_now=True) 
    active = models.BooleanField(default=True) 

    class Meta: 
     abstract = True 

はしかし、私は私に言って、エラーを受け取ります'Takeoff.added_by'は逆アクセサーと衝突して 'I nputTakeoffItem.added_by '。

ヒント: 'Takeoff.added_by'または 'InputTakeoffItem.added_by'の定義にrelated_name引数を追加または変更します。それがで実装されますすべてのモデル間で

はどのように作成され、最後の項目を変更した人の両方を追跡するために、ABCを作成することができますか?

答えて

1

申し訳ありませんこれを数日間苦労して、私は実際にDjangoのドキュメントで答えを見つけました。二つの変数があります。あなたがrelated_nameフィールドに追加することができます(?):

  • %(app_label)■
  • %(クラス)■これは、各クラスの継承にrelated_nameが一意になります

それから。

ここにドキュメント:https://docs.djangoproject.com/en/1.10/topics/db/models/#abstract-related-name

関連する問題