У меня есть две модели, как показано ниже:
class Loo(models.Model):
loo_type = models.CharField(max_length=3, default="LOO"...)
loo_from = models.ForeignKey(Harr, on_delete=models.CASCADE, ...)
loo_fac = models.DecimalField(max_digits=7, decimal_places=.....)
class Woo(models.Model):
woo_item = models.AutoField(primary_key=True, ...)
woo_loo = models.ForeignKey(Loo, on_delete=models.CASCADE, ...)
woo_dt = models.DateField(null=True, ...)
woo_rate = models.DecimalField(max_digits=7, decimal_places=.....)
Я пытаюсь отобразить данные из моделей с использованием следующего списка:
class WhoLooView(ListView):
template_name = "who_loo_list.html"
context_object_name = 'wholoos'
model = Loo
def get_context_data(self, **kwargs):
context = super(WhoLooView, self).get_context_data(**kwargs)
context.update({
'woo_item_list': Woo.objects.order_by('-woo_dt'),
})
return context
def get_queryset(self):
return Loo.objects.order_by('loo_from')
Обратите внимание, что может быть несколько " woo_item " за экземпляр Loo (id
), поэтому в представлении списка будут случаи, когда для того же Loo id
он будет иметь два экземпляра Woo / s и, следовательно, должны отображаться отдельно (предпочтительно в двух отдельных строках).
То, что я пробовал до сих пор, создает дополнительные (смежные) столбцы для каждого Loo id
и в зависимости от того, Loo / s имеют один экземпляр Woo , отображаются обычным образом, как и ожидалось.
Как это сделать позаботься о такой ситуации. Можем ли мы иметь вложенную строку для случаев, когда существует более одного экземпляра Woo?
Редактировать
Что я пробовал (на основе вашего примера кода):
{% for obj in wholoos %} <!-- wholoos : context object name -->
{{ obj.loo_type }}
{% for item in obj.woo_set.all %}
{{ item.woo_dt }}
{% endfor %}
{% endfor %}
Но теперь я ничего не получаю от второй модели Woo .
Edit 2
Я получаю тот же результат, что и раньше с мой оригинальный код. Проверьте изображение ниже:
Если вы заметили (на изображении выше), объекты # 31 и 34 имеют по одному дочерних объектов (подобъектов). # 32 и 33 имеют по два . Я хочу, чтобы они были в отдельных строках , а не в столбцах. Причина в том, что в случае, если для каждого родительского элемента есть несколько элементов (что необходимо для моей структуры БД), я получу огромное количество дополнительных столбцов для подобъектов (и это тоже без заголовка столбца ).