Bonjour, je suis un nouveau dans la communauté et j’apprécie vraiment python.
Depuis quelque jour je suis bloqué pour faire afficher les nom d’un produit dans un formulaire.
voici la situation j’ai deux Models : Commande et Produit qui sont liés par une relation many to many.
je souhaite qu’en ajoutant une commande, tous les produit me soient proposés dans un champs de choix multiples. J’arrive à le faire sauf que les produit se présent sous forme : produit Object (1), produit object (2)… dans mon template. voici le code:
table ou model des produits:
“”"
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)
‘’’
Table ou Model des commande:
‘’‘’
from turtle import mode
from django.db import models
from Produit.models import Produit
Create your models here.
class Commande(models.Model):
m_designation=models.CharField(max_length=50)
Produit=models.ManyToManyField(Produit)
create_time=models.DateTimeField(auto_now_add=True)
‘’‘’
le le formulaire
‘’‘’
from django.forms import ModelForm
from .models import Commande
class CommandeForm(ModelForm):
class Meta:
model=Commande
fields='__all__'
‘’‘’
Le template:
‘’‘’
{% extends ‘main.html’ %}
{% load crispy_forms_filters %}
{% block content %}
<h1> <u> Ajouter Commande</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>
{% endblock content %}