Hello,

Je viens de démarrer le code en django. J'ai besoin d'aide sur une fonctionnalité me semble-t-il assez simple, mais je ne trouve pas d'explication simple malgré la doc importante en django.

J'ai pour l'instant deux classes Book et Author, j'aimerais que ma vie fasse figurer les informations des livres ET des auteurs (nom, prénom, date de naissance).
Par exemple :
Victor Hugo (1802) : Les Misérables (1862)

models.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Author(models.Model):
 
    name = models.fields.CharField(max_length=100)
    fistname = models.fields.CharField(max_length=100)
    date_birth = models.fields.IntegerField(
    validators=[MinValueValidator(1500), MaxValueValidator(2021)]
    )
    def __str__(self):
        return f'{self.title}'
 
class Book(models.Model):
 
    title = models.fields.CharField(max_length=100)
    date_publication = models.fields.IntegerField(
    validators=[MinValueValidator(1500), MaxValueValidator(2021)]
    )
    author_id = models.ForeignKey(Author, null=True, on_delete=models.SET_NULL)
    def __str__(self):
        return f'{self.title}'
views.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
from .models import Author, Book
 
def book_list(request):
    books = Book.objects.all()
    return render(request,
    'book_list.html',
    {'books' : books})
book_list.html
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
    <body>
 
        {% block content %}
 
        <h1>Books</h1>
 
            {% for book in books %}
 
            <p > : {{book.title}} ({{books.date_publication}})</p>
 
            {% endfor %}
 
        {% endblock %}
 
    </body>