Модели Django с взаимоисключающими ссылками
Мне кажется, что у меня в голове полный сумбур, и я хотел бы получить помощь, пожалуйста. Я новичок в этом, так что будьте мягче.
У меня есть модель сердечника трансформатора:
class Core(models.Model):
name = models.CharField(max_length=100, default="")
laminations = models.ForeignKey(Lamination, on_delete=models.CASCADE)
ccore= models.ForeignKey(Ccore, on_delete=models.CASCADE)
stack = models.FloatField()
stack_factor = models.FloatField(default=0.92)
def __str__(self):
return self.name
Я не думаю, что делаю это правильно. Ядро может иметь либо ламинирование OR ccore, но не оба.
Как установить взаимосвязь между Core и lamination и ccore, чтобы я мог выбрать, какой из них (возможно, с опозданием на другой тип) является действительным?
Я думал о том, чтобы иметь выбор под названием core_type, который фронт-энд сможет изменить, и в зависимости от этого выбора один из этих ForeignKeys будет установлен в NULL. Но это кажется мне неправильным.