Django Внешний ключ к нескольким моделям
Есть ли способ сделать так, чтобы одна модель могла быть foreignkey для более чем одной модели? Например
class Tshirt(models.Model):
.....
class Jeans(models.Model):
.....
class Clothes(models.Model):
item = ForeignKey(Tshirt and Jeans, on_delete = models.CASCADE)
Итак, вы хотите соединить обе модели джинсов и рубашки с тканью, поэтому вы можете соединить их таким образом. Боюсь, что это невозможно, но вы можете соединить обе модели таким образом
class Tshirt(models.Model):
.....
class Jeans(models.Model):
.....
class Clothes(models.Model):
item_one = models.ForeignKey(Tshirt, on_delete = models.CASCADE)
item_two = model.ForeignKey(Jeans, on_delete = models.CASCADE)
item = GenericForeignKey('item_one', 'item_two')
или второй способ - соединить ткань с обеими моделями
class Tshirt(models.Model):
cloth = models.ForeignKey(Clothes, on_delete = models.CASCADE)
class Jeans(models.Model):
cloth = models.ForeignKey(Clothes, on_delete = models.CASCADE)
class Clothes(models.Model):
....
Я знаю, что это не тот вопрос, который вы задаете, но, по моему мнению, это единственный способ для двух взаимосвязанных моделей