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):
       ....

Я знаю, что это не тот вопрос, который вы задаете, но, по моему мнению, это единственный способ для двух взаимосвязанных моделей

Вернуться на верх