Отношение «один ко многим», которое вы ищете, не существует в Django.Это не нужно, так как вы можете сделать это наоборот: с отношением ForeignKey от квалификации к пользователю.В соответствии с вашим примером, вы бы определили модели следующим образом:
class Qualification(models.Model):
qualification = models.CharField(max_length=250)
max_marks = models.IntegerField(max_length=50)
marks_obtained = models.IntegerField(max_length=50)
qualifying_year = models.DateField(auto_now=False, null=True)
user = models.ForeignKey('CompanyUser', related_name='qualifications')
class CompanyUser(User):
date_of_birth = models.DateField(auto_now=False, null=True)
position = models.CharField(max_length=100)
Таким образом, отношение между CompanyUser и Qualification не определено, но у вас есть отношение ForeignKey от Qualification к CompanyUser (т.е. каждая квалификация принадлежит одномупользователь, но несколько квалификаций могут принадлежать одному и тому же пользователю).Django автоматически поддерживает обратное отношение между CompanyUser и Qualification, то есть отношение «один ко многим», которое вы ищете.Опцией related_name
ForeignKey вы можете указать значимое имя для обратного отношения (в данном случае «квалификации»).Теперь вы можете просто получить доступ к квалификациям объекта CompanyUser с атрибутом user.qualifications
.
. В администраторе вы сначала должны создать нового CompanyUser, а затем произвольное количество квалификаций, которые вы назначаете этому пользователю через ForeignKey..
Обязательно прочитайте об этом в разделе документации Django о Связи с моделями .