zelsky
@zelsky

Django view primarykey как получить данние из бази в виде как в примере?

Надо привести к виду
Примерное решение есть но отображает не верно.
Namepart1:
racdel1
racdel2:
podrazdel1
podrazdel2
podrazdel3
Namepart2:
razdel3:
podrazdel4
podrazdel5
razdel4
razdetl5
и так далее.

class NamePart(models.Model):
    title = models.CharField(max_length=255,verbose_name=" .")

    def get_absolute_url(self):
        return "/url/%i/" % self.id

    def __unicode__(self):
        return '%s' % (self.title)

class Rozdil(models.Model):

    title = models.CharField(max_length=255,verbose_name="Налу")
    part_of = models.ForeignKey(NamePart,verbose_name="н")
    is_main = models.BooleanField(default=1,verbose_name="Гоний ?")

    def get_absolute_url(self):
        return "/rozdil/%i/" % self.id

    def __unicode__(self):
        return '%s' % (self.title)

class Stats(models.Model):
    name = models.CharField(max_length=170,verbose_name="я ?")
    image = models.ImageField(upload_to='media')
    robota =  RichTextField(verbose_name="Опти")
    opus_ustanovku = RichTextField(verbose_name="Опановки")
    zag_bund = RichTextField(verbose_name="Забудова")
    tth = RichTextField(verbose_name="ТТХ")
    teh_obslug = RichTextField(verbose_name="Технне ")
    main_is = models.ForeignKey(Rozdil,verbose_name="З ")

    def get_absolute_url(self):
        return "/detali/%i/" % self.id

    def __unicode__(self):
        return '%s %s' % (self.name, self.main_is)

Вот пример добичи из двух.
def some_view(request):
     foo = []
     for name_part in NamePart.objects.all(): 
          foo.append({
             'name_part': name_part,
             'rozdils': Rozdil.objects.filter(part_of=name_part.pk) 
     })
     return render(request, 'template_show_all.html', {'foo': foo})


# template_show_all.html
{% for buzz in foo %}
<h1>{{ buzz. name_part.title}}
  {% for bar in buzz.rozdils %}
      <h2>{{ bar.title }}
  {% endfor %}
{% endfor %}

Вот мое примерное решение, но отображает
Часть1:
Раздел1:
Под раздел 1
Под раздел 2
Раздел2:
Часть2:
Раздел1:
Раздел2:
Под раздел 3
Под раздел 4

Lal = []
    for name_part in NamePart.objects.all():
        for details in Rozdil.objects.filter(part_of=name_part.pk):
            Lal.append({'name_part': name_part,'rozdils': Rozdil.objects.filter(part_of=name_part.pk),'details':Stats.objects.filter(main_is=details.pk)})

b416d3bc689740bb81bce59c1301a972.png3177764cbd4745e69009ee144e06f3d8.png
  • Вопрос задан
  • 386 просмотров
Решения вопроса 1
sim3x
@sim3x
!
для приличия, сделай get_abs_url так как я говорил в прошлом ответе
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zelsky
@zelsky Автор вопроса
{% for buzz in lal %}
        <div class="dropdown">

            <a id="dLabel" role="button" data-toggle="dropdown" class="btn btn-default" data-target="#" href="">
              {{ buzz.name_part.title}} <span class="caret"></span>
            </a>

    		<ul class="dropdown-menu multi-level" role="menu" aria-labelledby="dropdownMenu">
              <li class="dropdown-submenu">
                {% for bar in buzz.rozdils %}
                <a tabindex="-1" href="#">{{ bar.title }}</a>
                <ul class="dropdown-menu">

                  {%for det in buzz.details%}
                  <li><a href="#">{{det.name}}</a></li>
                  {% endfor%}
                </ul>
                {% endfor%}
              </li>
            </ul>

        </div>
        {% endfor%}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы