2016-08-17 14 views
0

ジャンゴ1.10外部キーの移行

を行いながら、私は一般的なモデルに共通のフィールドを統一したかったし、それを継承しています。私はDRYの原則に従うことが他にどれほどあるのか分かりません。しかし私は移行を行うことはできません。ここにアドバイスをお願いできますか?

class GeneralModel(models.Model): 
    created_by = models.ForeignKey(User, on_delete=models.CASCADE, related_name="created_by") 

    class Meta: 
     abstract = True 

class Image(GeneralModel): 
    ... 

class Masterphoto(GeneralModel): 
    ... 

トレースバック

python manage.py makemigrations 
SystemCheckError: System check identified some issues: 

ERRORS: 
image.Image.created_by: (fields.E304) Reverse accessor for 'Image.created_by' clashes with reverse accessor for 'Masterphoto.created_by'. 
    HINT: Add or change a related_name argument to the definition for 'Image.created_by' or 'Masterphoto.created_by'. 
image.Image.created_by: (fields.E305) Reverse query name for 'Image.created_by' clashes with reverse query name for 'Masterphoto.created_by'. 
    HINT: Add or change a related_name argument to the definition for 'Image.created_by' or 'Masterphoto.created_by'. 
masterphoto.Masterphoto.created_by: (fields.E304) Reverse accessor for 'Masterphoto.created_by' clashes with reverse accessor for 'Image.created_by'. 
    HINT: Add or change a related_name argument to the definition for 'Masterphoto.created_by' or 'Image.created_by'. 
masterphoto.Masterphoto.created_by: (fields.E305) Reverse query name for 'Masterphoto.created_by' clashes with reverse query name for 'Image.created_by'. 
    HINT: Add or change a related_name argument to the definition for 'Masterphoto.created_by' or 'Image.created_by'. 

答えて

0

これは、移行を行うには何もありません。

関連する名前は一意である必要があります。 model inheritance docsはこの場合に何をするかを説明します。 '%(app_label)s''%(class)s'を使用して、関連する名前を生成された値に自動的に挿入することができます。

+0

ありがとうございました。それがまさに私が必要としていたものです。 – Michael