Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Django] Formulaire pour un produit

Attributs, champs personnalisés et options de champs personnalisés

Anonyme
    16 août 2014 à 18:39:28

    Je viens de commencer à apprendre Django et j'aimerais créer un modèle Product avec attributs, champs personnalisés et options pour ces champs personnalisés. Exemple pour les champs personnalisés avec options : 
    Ligne 1: [TEXTE DE L'UTILISATEUR] | Options du champs personnalisé: [POLICE] [TAILLE DE POLICE] [...]  
    Ligne 2: [TEXTE DE L'UTILISATEUR] | Options du champs personnalisé: [POLICE] [TAILLE DE POLICE] [...]
    Voilà les modèles que j'ai créés :
    from django.db import models
    from django.utils import timezone
        
    class Product(models.Model):
        name = models.CharField(max_length=100)
        description = models.TextField()
        sku = models.CharField(max_length=100)
        slug = models.CharField(max_length=100)
        price = models.DecimalField(max_digits=6, decimal_places=2)
        active = models.BooleanField()
        created_at = models.DateTimeField(auto_now_add=True)
        updated_at = models.DateTimeField(auto_now=True)
        def __unicode__(self):
            return self.name
        
    class ProductMeta(models.Model):
        product = models.OneToOneField('Product')
        title = models.CharField(max_length=100)
        description = models.TextField(max_length=250)
        
    class ProductImage(models.Model):
        def upload_path(self, filename):
            return 'static/uploads/images/%s%s' % (timezone.now().strftime('%Y/%m/%d/%Y%m%d_'), filename)
        product = models.ForeignKey('Product')
        name = models.CharField(max_length=100)
        default = models.BooleanField()
        image = models.ImageField(upload_to=upload_path)
        def __unicode__(self):
            return self.name
        
    class ProductCharacteristic(models.Model):
        product = models.ForeignKey('Product', related_name="characteristics")
        name = models.CharField(max_length=100)
        value = models.CharField(max_length=100)
        def __unicode__(self):
            return self.name
        
    class ProductAttribute(models.Model):
        category = models.ForeignKey('ProductAttributeCategory')
        products = models.ManyToManyField('Product', related_name="attributes")
        name = models.CharField(max_length=100)
        ordering = ['-category']
        def __unicode__(self):
            return u'%s : %s' % (self.category, self.name)
        
    class ProductAttributeCategory(models.Model):
        name = models.CharField(max_length=100)
        def __unicode__(self):
            return self.name
        
    class ProductAttributeValue(models.Model):
        attribute = models.ForeignKey('ProductAttribute', related_name="values")
        name = models.CharField(max_length=100)
        def __unicode__(self):
            return self.name
        
    class ProductCustomField(models.Model):
        product = models.ForeignKey('Product', related_name="custom_fields")
        name = models.CharField(max_length=100)
        description = models.TextField(max_length=250)
        def __unicode__(self):
            return self.name
        
    class ProductCustomFieldOption(models.Model):
        fields = models.ManyToManyField('ProductCustomField', related_name="options")
        name = models.CharField(max_length=100)
        def __unicode__(self):
            return self.name
        
    class ProductCustomFieldOptionValue(models.Model):
        option = models.ForeignKey('ProductCustomFieldOption', related_name="values")
        name = models.CharField(max_length=100)
        def __unicode__(self):
            return self.name
    Mais maintenant j ne sais pas comment créer le formulaire correspondant dans la page du produit (avec des listes déroulantes pour les attributs, des champs de texte pour les champs personnalisés et des listes déroulantes pour les options de champs personnalisés) . J'ai déjà essayé pas mal de choses mais rien de fonctionne (comme je vous dit je débute seulement dans Django).
    Vous pouvez m'aider ? Merci d'avance ! :)
    • Partager sur Facebook
    • Partager sur Twitter

    [Django] Formulaire pour un produit

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown