привязан один из моделей WarriorRole, WizzardRole, у которых разные поля.
                  
                  
                  
                  
                  
                  Вопрос: хорошая ли это идея иметь такие отношения между моделями или есть другие альтернативы?
                  
                  
                  
                  
                  
                  Я сделал это так:
                  
                  
                  class WarriorRole/WizzardRole(models.Model):
                  
                  
                      user = models.OneToOneField(
                  
                  
                          settings.AUTH_USER_MODEL,
                  
                  
                          on_delete=models.CASCADE,
                  
                  
                          related_name='role'
                  
                  
                      )
                  
                  
                  
                  
                  
                      # other unique fields for each model
                  
                  
                  
                  
                  
                  
                  
                  
                  user.role.__class__.__name__
                  
                  
                  
                  
                  
                  По идее всё должно работать, но я не уверен.
                  
                  
                
class WarriorRole/WizzardRole это две модели?
Обсуждают сегодня