[python] Django : 외래 키 충돌에 대한 역방향 접근 자

기본 클래스에서 상속하는 두 개의 Django 모델이 있습니다.

- Request
    - Inquiry
    - Analysis

요청에는 기본 제공 사용자 모델에 대한 두 개의 외래 키가 있습니다.

create_user = models.ForeignKey(User, related_name='requests_created')
assign_user = models.ForeignKey(User, related_name='requests_assigned')

어떤 이유로 오류가 발생합니다.

Reverse accessor for 'Analysis.assign_user' clashes with reverse accessor for 'Inquiry.assign_user'.

내가 읽은 모든 것은을 설정 related_name하면 충돌을 방지해야한다고 말하지만 여전히 동일한 오류가 발생합니다. 왜 이런 일이 일어날 지 생각할 수 있습니까? 감사!



답변

related_name필드가 서로 충돌되지 않았 음을 확인,하지만 당신은 그 분야의 모두가 각각의 두 가지 모델을 가지고있다. 구체적인 모델의 이름을 각 모델에 넣어야합니다. 특수한 문자열 대체로 수행 할 수 있습니다 .

 create_user = models.ForeignKey(User, related_name='%(class)s_requests_created')


답변