Bir sayfada bir blog hazırlamaya çalışıyorum: makaleler ve yorumlar aynı sayfada. Django'nun yabancı anahtarla nasıl çalıştığını anlamak.Django ve yabancı anahtar
Aslında, tüm makaleleri aynı sayfada görüntüleyebilirim, ancak her makalenin her bir makalesini nasıl görüntüleyeceğimi bilmiyorum çünkü iyi makale kimliğiyle ilişkili iyi yorumlar kimliğini nasıl alacağımı bilmiyorum.
model.py:
#-*- coding: utf-8 -*-
from django.db import models
# Create your models here.
class Article(models.Model):
titre = models.CharField(max_length=100)
auteur = models.CharField(max_length=42)
contenu = models.TextField(null=True)
date = models.DateTimeField(auto_now_add=True, auto_now=False, verbose_name="Date de parution")
class Commentaire(models.Model):
auteur = models.CharField(max_length=42)
contenu = models.CharField(max_length=100)
date = models.DateTimeField(auto_now_add=True, auto_now=False, verbose_name="Date de parution")
article = models.ForeignKey('Article')
views.py:
#-*- coding: utf-8 -*-
from django.shortcuts import render
from django.http import HttpResponse
from blog.models import Article, Commentaire
# Create your views here.
def actualite(request, id):
article = Article.objects.all()
commentaire_article = Commentaire.objects.filter(article=**ARTICLE ID ???**)
return render(request, 'blog/templates/home.html', locals())
şablon home.html:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<ul>
<h1>Liste des articles :</h1>
{% for article in article %}
<li>
Titre : {{ article.titre }}<br />
Contenu : {{ article.contenu }}<br />
Auteur : {{ article.auteur }}<br />
Date : {{ article.date }}<br />
Commentaire :
{% for commentaire_article in commentaire_article %}
<ul>
<li>
De : {{ commentaire_article.auteur }}<br />
{{ commentaire_article.contenu|default:"Aucun commentaire" }}
</li>
</ul>
{% endfor %}
</li>
<hr>
{% endfor %}
</ul>
</body>
</html>