Django:model作成における継承について
Djangoのmodel作成で、ForeignKeyを指定して外部キーを参照したいのですが、
うまくいきません。
[ファイル構成概略]
App
|
|-base - models.py
|
|-dir1 - models.py
|-dir2 - models.py
(dirはこのほかにいくつかあります。)
[base/models.py]
from django.db import models
from django.contrib.auth.models import User
from django.db import models
from django.contrib.auth.models import User
class BaseModel(models.Model):
class Meta(object):
abstract = True
ordering = ('pk', )
user_creating = models.ForeignKey(
User,
related_name='user_creating_id',
on_delete=models.CASCADE
)
user_updating = models.ForeignKey(
User,
related_name='user_updating_id',
on_delete=models.CASCADE
)
[dir1/models.py]
class ClinicRecords(BaseModel):
"""カルテ情報."""
patient = models.Foreignkey(User, on_delete=models.CASCADE)
height = models.IntegerField()
(略)
[dir2/models.py]
class Photos(BaseModel):
"""写真情報."""
clinic_record = models.ForeignKey(ClinicRecords, on_delete=models.CASCADE)
patient_status = models.IntegerField()
head_image = models.URLField()
(略)
上記のように
・dir1,dir2のmodels.pyの中で BaseModelを継承する
・BaseModelではさらに、「Userモデル」を外部キーとしてリレーションしたい
この際、
HINT: Add or change a related_name argument to the definition for
'(クラス名1).user_updating' or '(クラス名2).user_updating'.
(クラス名1).user_updating: (fields.E305) Reverse query name for
'(クラス名2).user_updating' clashes with reverse query name for '(クラス名3).user_updating'.
というエラーが出ます。
原因は明らかに
dir1やdir2のmodels.pyで継承している、親クラス:BaseModelの中でForeignKeyを使ってUserを呼び出しているからであることがわかっているのですが、この解決策がわかりませんでした。
こちらの解決策をご教示いただけますでしょうか。