Django - Есть ли возможность как-то объединить несколько внешних ключей в 1 значение поля из другой модели? [дубликат]
Я хочу создать модель под названием DailyPerformance со следующими полями:
class DailyPerformance(models.Model):
date = models.DateField()
driver = models.ForeignKey(Employee, on_delete=models.CASCADE)
TYPE_OF_GOODS_CHOICES = (
("Excavated soil", "Excavated soil"),
("Sand", "Sand"),
("Crushed stone", "Crushed stone"),...
)
type_of_goods = models.CharField(blank=True, null=True, max_length=30, choices=TYPE_OF_GOODS_CHOICES)
place_of_loading = models.ForeignKey(ConstructionSite, on_delete=models.CASCADE)
place_of_unloading = models.ForeignKey(ConstructionSite, on_delete=models.CASCADE)
number_of_rounds = models.IntegerField(blank=True, null=True)
Самая большая проблема у меня с полями place_of_loading и place_of_unloading. Местом погрузки может быть строительная площадка, гравийный карьер, песчаный карьер и т.д., а местом разгрузки - строительная площадка или свалка. Поскольку у меня уже есть модель ConstructionSite, я хотел создать модели GravelPit, SandPit, Landfill и объединить их все в модели DailyPerformance.
Вот такая идея: Наши водители должны будут заполнять форму в конце рабочего дня, и я хочу, чтобы в выпадающем меню place_of_loading были значения из ConstructionSite, GravelPit и SandPit. То же самое относится и к месту_разгрузки.
place_of_loading = models.ForeignKey(ConstructionSite, GravelPit, SandPit)
place_of_unloading = models.ForeignKey(ConstructionSite, Landfill)
Я знаю, что это не работает, но хотел бы узнать, есть ли другое решение.