将属性添加到“产品”字段Django Ecommerce

我正在Django上创建一个电子商务Web应用程序,现在我只想知道哪种是向“基本产品”字段添加属性的最合适或最好的方法(无需重复基本产品)

,并为每种产品添加唯一的SKU代码,以分别查找商品

  

属性为“ 颜色”,“ 尺寸”等。

这是我的基本产品字段

class Item(models.Model):
    title = models.CharField(max_length=130)
    price = models.FloatField()
    discount_price = models.FloatField(blank=True,null=True)
    category = models.CharField(choices=CATEGORY_CHOICES,max_length=2)
    label = models.CharField(choices=LABEL_CHOICES,max_length=2,blank=True,null=True)
    date_added = models.DateTimeField(auto_now_add=True,null=True)
    slug = models.SlugField()
    description = models.TextField()
    image = models.ImageField()
FY12325 回答:将属性添加到“产品”字段Django Ecommerce

您可以像这样为其他属性构建一个ForeignKey。添加RGBColorField可以使用django-colorful

from django.db import models
from colorful.fields import RGBColorField

Class OtherAttributes(models.Model):
    slug = models.ForeignKey(Item,unique=False,null=True,on_delete=models.CASCADE)
    color = models.RGBColorField()
    size = models.CharField(max_length=30)

您已经具有可以分配给条形码或qrcode的唯一标识符。因此,通过将您的子弹添加到条形码或qrcode中来创建SKU。每次创建产品时,都可以使用django-qrcode生成二维码:

def generate_qrcode(self):

    qr = qrcode.QRCode(
        version=1,error_correction=qrcode.constants.ERROR_CORRECT_L,box_size=10,border=4,)
    slug = self.slug
    if not slug:
        self.slug = unique_slug_generator_firstname(self)
    qr.add_data(self.slug)
    qr.make(fit=True)

    filename = 'qrcode-%s.png' % self.slug

    img = qr.make_image()
    buffer = BytesIO()
    img.save(buffer)

    filebuffer  = InMemoryUploadedFile(
                                        buffer,None,filename,'image/png',buffer.getbuffer().nbytes,None
                                        )
    with filebuffer as filepath:
        self.qrcode_image.save(filename,filepath,save=False)

或者代替qrcode,您可以使用以下可用的pybarcode:http://packages.python.org/pyBarcode/barcode.html#creating-barcodes-as-svg

本文链接:https://www.f2er.com/3071334.html

大家都在问