1

私は単純なプラットフォーム販売を実装しています。このプラットフォームの 1 つのセクションは、設定されている多くの注文を挿入するために参照しています。この注文 ( Pedido) は order_detail ( Detalle_Pedido) に関連しており、これは次のように製品 ( Producto) に関連しています。

    class Pedido(models.Model):
        referencia = models.CharField(max_length=255)
        cliente = models.ForeignKey(Cliente,related_name="cliente")
        fecha_pedido = models.DateField(auto_now=True)
        fecha_entrega = models.DateField(auto_now=True)
        agencia_envio = models.ForeignKey(Envio, related_name="entrega",blank=True,null=True)
        producto = models.ManyToManyField(Producto, through='Detalle_Pedido')

        def __unicode__(self):
                return self.referencia

        class Meta:
            ordering = ["referencia","fecha_pedido"]



    class Detalle_Pedido(models.Model):
        pedido = models.ForeignKey(Pedido, related_name="pedido")
        producto = models.ForeignKey(Producto, related_name="producto")
        unidad_precio = models.FloatField()
        cantidad = models.IntegerField()
        descuento = models.FloatField(blank=True)

        def __unicode__(self):
                return self.producto

        class Meta:
            ordering = ["producto"]



     class Producto(models.Model):
        referencia = models.CharField(max_length=30)
        nombre = models.CharField(max_length=500)
        cantidad = models.IntegerField()
        precio_unidad = models.FloatField(blank=True)
        cantidad_en_pedido = models.IntegerField(blank=True)
        descatalogado = models.BooleanField(blank=True)
        proveedor = models.ForeignKey(Proveedor,related_name="proveedor",blank=True,null=True)
        categoria = models.ForeignKey(Categoria,related_name="categoria",blank=True,null=True)
        imagen = models.ImageField(upload_to="/media/productos", blank=True)

        def __unicode__(self):
                return self.nombre

        class Meta:
            ordering = ["nombre","cantidad","precio_unidad","cantidad_en_pedido","descatalogado"]

注文Pedidoが作成されるたびDetalle_Pedidoに、各注文の詳細を新しく作成された注文に関連付ける必要があり、各注文の詳細を作成するときに と関連付けて、ユーザーProductoが注文の詳細の製品と数量を設定できるようにする必要があります。CreateViewこれでできることはわかっていますがformsets、例を見て、モデルを介して使用するという事実を明確にしていませんManyToManyFields。この場合、Detalle_Pedido

編集:

理解を深めるためにいくつかの問題を明確にしています。まず第一にDetalle_Pedido、はい、注文のアイテムの一部であるため、(注文) を対象とする外部キーを定義しますPedido。注文には多くのアイテムがあり、Detalle_Pedido(注文の詳細) には別のアイテムがあります。Producto製品の詳細を取得するために (製品) を対象とする外部キー。to を実行しPedidoたのはManyToManyField、 1 つの注文にいくつかの製品があるためです。そのために、注文と製品に関連するデータを保存したいというProducto節を設定しました。それが注文です。through詳細(Detalle_Pedido)、それがより「正当な」方法であるかどうかはわかりませんが、私がやろうとしていることの小さなアプローチです。私はDjangoで比較的新しいので、多くのこと、アドバイス、またはヒントをいただければ幸いです。

4

0 に答える 0