Ik heb twee Django-modellen die erven van een basisklasse:
- Request
- Inquiry
- Analysis
Verzoek heeft twee externe sleutels voor het ingebouwde gebruikersmodel.
create_user = models.ForeignKey(User, related_name='requests_created')
assign_user = models.ForeignKey(User, related_name='requests_assigned')
Om de een of andere reden krijg ik de foutmelding
Reverse accessor for 'Analysis.assign_user' clashes with reverse accessor for 'Inquiry.assign_user'.
Alles wat ik heb gelezen zegt dat het instellen van de related_name
de botsing zou moeten voorkomen, maar ik krijg nog steeds dezelfde foutmelding. Kan iemand bedenken waarom dit zou gebeuren? Bedankt!
Antwoord 1, autoriteit 100%
De related_name
zou ervoor zorgen dat de velden niet met elkaar conflicteren, maar je hebt twee modellen, die beide beide velden hebben. Je moet in elk ervan de naam van het concrete model zetten, wat je kunt doen met een aantal speciale tekenreeksvervanging:
create_user = models.ForeignKey(User, related_name='%(class)s_requests_created')