zelsky
@zelsky

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

Надо привести к виду

Namepart1:
racdel1
racdel2
Namepart2:
razdel3
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)
  • Вопрос задан
  • 304 просмотра
Решения вопроса 1
sim3x
@sim3x
# urls.py
url(r"^/show-all/(?P<pk>\d+)/",  some_view, name='show_all' ),

url(r"^/rozdil/(?P<pk>\d+)/",  some_view1, name='rozdil' ),
url(r"^/name-part/(?P<pk>\d+)/", some_view2, name='name_part'),

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

    def get_absolute_url(self):
        # используй 
        # https://docs.djangoproject.com/en/1.8/topics/http/urls/#reverse-resolution-of-urls
        return reverse('name_part', self.id)

    def __unicode__(self):
        return u'%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  reverse('rozdil', self.id)

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


#views.py
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 %}


Ну или использовать https://docs.djangoproject.com/en/dev/ref/models/q...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
24 апр. 2024, в 09:32
25000 руб./за проект
24 апр. 2024, в 09:27
13000 руб./за проект
24 апр. 2024, в 09:20
10000 руб./за проект