Bonjour, je suis nouveau en web avec django (python),j’ai un problème,j’ai deux table produit et commande, donc une relation de type many to many, je souhaite ajouter à l’aide d’un formulaire une commande, sauf que pour le choix des produit, il se présente sous la forme produit object (1),alors que je souhaite que le nom du produit s’affiche.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
def add_commande(request):
    form=CommandeForm()
    if request.method=='POST':
        form=CommandeFormForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('/Commande')
    context={'form':form}
    return render(request,'Commande/add_commande.html',context)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
from turtle import mode
from django.db import models
 
 
# Create your models here.
 
class Produit(models.Model):
    designation=models.CharField(max_length=50)
    create_time=models.DateTimeField(auto_now_add=True)
Model commande:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
from turtle import mode
from django.db import models
from Porduit.models import Commande
 
 
# Create your models here.
 
class Commande(models.Model):
    m_designation=models.CharField(max_length=50)
    document=models.ManyToManyField(Poduit)
    create_time=models.DateTimeField(auto_now_add=True)
LE template se présente comme suite:


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
17
18
19
{% extends 'main.html' %}
{% load crispy_forms_filters %}
{% block content %}
<div class=" row container-fluid offset-3">
 
    <h1> <u> Ajouter un Motif</u>:</h1>
    <div>
        <div class="card card-body col-sm-6 ">
            <form action="" method="POST">
        {% csrf_token %}
  #      {{ form|crispy}}
        <button type="submit" class="btn btn-primary sm6" name="Enregistrer">Enregister</button>
            </form>
        </div>
   </div>
 
</div>
 
{% endblock content %}