Показ двух моделей на одной странице Django

У меня есть две модели:

class Post(models.Model):
title= models.CharField(max_length=255)
author = models.ForeignKey(User, on_delete=models.CASCADE)
body = models.TextField()
postimage = models.ImageField(null= True, blank= True, upload_to="images/")
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)


def publish(self):
    self.published_date = timezone.now()
    self.save()

def __str__(self):
    return self.title + " | "+ str(self.author)
def get_absolute_url(self):
    return reverse('article_deatil', args=(str(self.id)))


class AboutMe(models.Model):
title1= models.CharField(max_length=255, default="About Me")
body = models.TextField()
skill1= models.CharField(max_length=255)
skill1body = models.TextField()
skill2= models.CharField(max_length=255)
skill2body = models.TextField()
skill3= models.CharField(max_length=255)
skill3body = models.TextField()
edu1=models.CharField(max_length=255)
edu1body =  models.TextField()
edu2=models.CharField(max_length=255)
edu2body =  models.TextField()
edu3=models.CharField(max_length=255)
edu3body = models.TextField()

def __str__(self):
    return self.title1 

Я хочу показать их оба в моем home.html

class HomeView(ListView):
model = Post
template_name = 'home.html'
queryset = Post.objects.order_by('-published_date')[:3]

url.py

urlpatterns = [
path('',HomeView.as_view(), name="home"),
path('',PostViewList.as_view(), name="postlist"),

]

Я новичок в django и не уверен, как показать две модели в одном шаблоне. Я поместил post.body и другие теги в мой html, но он не показывает часть "Обо мне".

Предположим, что вам нужен еще один кверисет AboutMe модели, такой как Post модель.

Вы должны просто использовать get_context_data() следующим образом:

class HomeView(ListView):
    model = Post
    template_name = 'home.html'
    queryset = Post.objects.order_by('-published_date')[:3]

    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(*args, **kwargs)
        context['about_me_records'] = AboutMe.objects.all()
        return context

Теперь у вас есть еще один набор запросов about_me_records для использования в шаблоне и итерации.

Вернуться на верх