“Goods modeles设计”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(创建页面,内容为“==商品类别表GoodsCategory== 这个表记录商品的所属类别, 一级类名、二级类名都用这个表表示 <nowiki> from datetime import datetime…”)
 
第53行: 第53行:
 
     name = models.CharField(default="", max_length=30, verbose_name="品牌名", help_text="品牌名")
 
     name = models.CharField(default="", max_length=30, verbose_name="品牌名", help_text="品牌名")
 
     desc = models.TextField(default="", max_length=200, verbose_name="品牌描述", help_text="品牌描述")
 
     desc = models.TextField(default="", max_length=200, verbose_name="品牌描述", help_text="品牌描述")
     image = models.ImageField(max_length=200, upload_to="brands/")
+
     image = models.ImageField(max_length=200, upload_to="brands/")#maxlength:指定图片最大大小,upload_to指定上传目录
 
     add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")
 
     add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")
  
第63行: 第63行:
 
     def __str__(self):
 
     def __str__(self):
 
         return self.name</nowiki>
 
         return self.name</nowiki>
 +
 +
注:db_table 和verbose_name的区别
 +
 +
*db_table 数据库中别名
 +
 +
*verbose_name django admin 管理界面的别名

2020年6月22日 (一) 08:43的版本

商品类别表GoodsCategory

这个表记录商品的所属类别,

一级类名、二级类名都用这个表表示

from datetime import datetime

from django.db import models
from DjangoUeditor.models import UEditorField
# Create your models here.


class GoodsCategory(models.Model):
    """
    商品类别
    """
    CATEGORY_TYPE = (
        (1, "一级类目"),
        (2, "二级类目"),
        (3, "三级类目"),
    )

    name = models.CharField(default="", max_length=30, verbose_name="类别名", help_text="类别名")
    code = models.CharField(default="", max_length=30, verbose_name="类别code", help_text="类别code")#类别英文名
    desc = models.TextField(default="", verbose_name="类别描述", help_text="类别描述")
    category_type = models.IntegerField(choices=CATEGORY_TYPE, verbose_name="类目级别", help_text="类目级别")
    parent_category = models.ForeignKey("self", null=True, blank=True, verbose_name="父类目级别", help_text="父目录",
                                        related_name="sub_cat")
    is_tab = models.BooleanField(default=False, verbose_name="是否导航", help_text="是否导航")
    add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")

    class Meta:
        verbose_name = "商品类别"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.name



商品品类品牌表GoodsCategoryBrand

这个表记录每个品类的代表性品牌

class GoodsCategoryBrand(models.Model):
    """
    品牌名
    """
    category = models.ForeignKey(GoodsCategory, related_name='brands', null=True, blank=True, verbose_name="商品类目")
    name = models.CharField(default="", max_length=30, verbose_name="品牌名", help_text="品牌名")
    desc = models.TextField(default="", max_length=200, verbose_name="品牌描述", help_text="品牌描述")
    image = models.ImageField(max_length=200, upload_to="brands/")#maxlength:指定图片最大大小,upload_to指定上传目录
    add_time = models.DateTimeField(default=datetime.now, verbose_name="添加时间")

    class Meta:
        verbose_name = "品牌"
        verbose_name_plural = verbose_name
        db_table = "goods_goodsbrand"

    def __str__(self):
        return self.name

注:db_table 和verbose_name的区别

  • db_table 数据库中别名
  • verbose_name django admin 管理界面的别名