Djangoのモデルの1つの側面は、私の周りに頭を浮かべないだけで、関連するフィールドであり、使い方が正しいことです。私はこれが一般的なSQLとデータベースの貧弱な理解を反映していると思うので、それは多くのdjangoユーザーにとって問題だと思われます。Django関連のフィールドの正しい使い方
私の現在のコードでは、ツアーアプリを構築しているため、宿泊施設をモデルとして用意しています。それから私はルートを持っています。その日のルートは結構な関係フィールドに終わってしまいますが、私に混乱を与えているのは、私が最初の宿泊施設と最終的な宿泊施設、つまり2つの別個の関係が必要であるという事実です。
私には、論理的には、OneToOneField - start_accomを宿泊施設に、end_accomを宿泊施設に持つことができるはずです。しかし、これを実行するとエラーが発生します。それがために逆の関係である言及として、
Performing system checks...
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x103ecdd90>
Traceback (most recent call last):
File "/Users/vernonswanepoel/.virtualenvs/tour/lib/python3.6/site-packages/django/utils/autoreload.py", line 226, in wrapper
fn(*args, **kwargs)
File "/Users/vernonswanepoel/.virtualenvs/tour/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 121, in inner_run
self.check(display_num_errors=True)
File "/Users/vernonswanepoel/.virtualenvs/tour/lib/python3.6/site-packages/django/core/management/base.py", line 431, in check
raise SystemCheckError(msg)
django.core.management.base.SystemCheckError: SystemCheckError: System check identified some issues:
ERRORS:
company.Route.end_accom: (fields.E304) Reverse accessor for 'Route.end_accom' clashes with reverse accessor for 'Route.start_accom'.
HINT: Add or change a related_name argument to the definition for 'Route.end_accom' or 'Route.start_accom'.
company.Route.end_accom: (fields.E305) Reverse query name for 'Route.end_accom' clashes with reverse query name for 'Route.start_accom'.
HINT: Add or change a related_name argument to the definition for 'Route.end_accom' or 'Route.start_accom'.
company.Route.start_accom: (fields.E304) Reverse accessor for 'Route.start_accom' clashes with reverse accessor for 'Route.end_accom'.
HINT: Add or change a related_name argument to the definition for 'Route.start_accom' or 'Route.end_accom'.
company.Route.start_accom: (fields.E305) Reverse query name for 'Route.start_accom' clashes with reverse query name for 'Route.end_accom'.
HINT: Add or change a related_name argument to the definition for 'Route.start_accom' or 'Route.end_accom'.
System check identified 4 issues (0 silenced).