Есть ли способ объединить несвязанные модели django?
У меня есть около 20 приложений django в одном проекте с аналогичными собственными моделями, каждая из которых представляет собой ветвь цепочки, которые одновременно будут выполнять операции CRUD?
во-первых, хороший ли это дизайн? Не будет ли он слишком большим для любой онлайновой базы данных?
вторая часть - как объединить все модели для представления данных?
модели работают примерно так
class App1(models.Model):
serial = models.IntegerField()
date_entry = models.DateField(default=datetime.date.today)
company = models.ForeignKey(to=Company, on_delete=models.DO_NOTHING)
product = models.ForeignKey(to=Product, on_delete=models.DO_NOTHING)
weight = models.DecimalField(max_digits=10, decimal_places=2)
country = models.ForeignKey(to=Country, on_delete=models.DO_NOTHING)
cert_no = models.CharField(max_length=40)
custom_cert_date = models.DateField()
модель 2
class App2(models.Model):
serial = models.IntegerField()
date_entry = models.DateField(default=datetime.date.today)
company = models.ForeignKey(to=Company, on_delete=models.DO_NOTHING)
product = models.ForeignKey(to=Product, on_delete=models.DO_NOTHING)
weight = models.DecimalField(max_digits=10, decimal_places=2)
country = models.ForeignKey(to=Country, on_delete=models.DO_NOTHING)
custom_cert_no = models.CharField(max_length=40)
custom_cert_date = models.DateField()
и так далее для каждого приложения
Я хочу объединить веса всех моделей, сгруппированных по стране, дате_ввода и продукту. по одной группе за раз?
Я пробовал это, но он просто объединяет их, не добавляет веса, однако столбцы одинаковые?
app1_data = App1.objects.filter(date_entry__gte=year1, date_entry__lte=year2).values('product__type').annotate(
Sum('weight')).order_by('product__type')
app2_data = App2.objects.filter(date_entry__gte=year1, date_entry__lte=year2).values('product__type').annotate(
Sum('weight')).order_by('product__type')
combined_data = list(chain(app1_data, app2_data))
поможет ли pandas?
любая помощь будет оценена по достоинству