Как выразить обратное отношение Many-to-One в Django
Я понял, что в Django есть отношения Many-to-One, а не One-to-Many, но как выразить противоположные отношения?
У меня есть таблица, которая имеет 2 внешних ключа к другой таблице. Таблица Validation_Run имеет 2 внешних ключа к Calibration_Run Django жалуется, что обратное отношение имеет конфликт
calibration.ValidationRun.calibration_run_pk: (fields.E304) Reverse accessor 'CalibrationRun.validationrun_set' for 'calibration.ValidationRun.calibration_run_pk' clashes with reverse accessor for 'calibration.ValidationRun.calibration_run_pk_tune_parameters'. HINT: Add or change a related_name argument to the definition for 'calibration.ValidationRun.calibration_run_pk' or 'calibration.ValidationRun.calibration_run_pk_tune_parameters'.
Как определить обратную связь (от Calibration_Run к Validation_Run), чтобы не было конфликта?
Вы должны указать различные related_name
для этих полей внешнего ключа. Например, так:
field = models.ForeignKey(related_name="calibrations")
field2 = models.ForeignKey(related_name="calibrations2")