モデルのリレーションに関して[UserモデルとOneToOneで紐づけたモデルからデータを取得したい]
タイトルに関してお伺いしたいです。宜しくお願い致します。
環境
- Python 3.6.8 :: Anaconda, Inc.
- Django 2.1.7
- django-allauth 0.39.1
djangoの作成目的:日報管理を行うアプリを構築
⬛︎プロジェクトの構成
Report
|
--accounts_app
|
--result_app
⬛︎モデルの構成
accounts_app.models
・Region
・Department
・UserProfile(OneToOne=>User)
- (department)=ForeignKey(Department)
result_app.models
・ResultReport
- (owner) = ForeignKey(User)
- (department)= ForeignKey(Department)
この、ResultReport
内のdepartment
フィールドのdefault
を、UserProfile
のdepartment
に設定したいのですが、adminサイトでデータの追加を見るとうまくいっていません。
⬛︎現在試していること
(report.models)
from accounts.models import Region, Department, UserProfile
class ResultReport(models.Model):
owner = models.ForeignKey(User, default=User.username, ・・・・省略)
department = models.ForeignKey(Department, default=str(UserProfile.user_region, ・・・・省略)
◆ コードは動くのですが、、(最初、makemigrations
すると、下記のエラーを吐き、
ValueError: Cannot serialize:django.db.models.fields.related_descriptors.ForwardManyToOneDescriptor object at 0x105de3e10
、取り合えずstr()
で囲んだらmigrate
できたのですが、、)
反映されていません。
ひとまず動くので手動でもいいとは思うのですが、、どこをどうすれば良いかわからず質問させていただきます。
※ appを分けているのはall-authを使ってみたくてtutorialをすすめて、accountsappを作成しただけなので特に理由はありません。
※ User.username
も拾わないので、、何か勘違いがあるのだと思っています。ご教示いただければ幸いです。
何卒宜しくお願い致します。