丝路通:更改goods modeles设计
来自CloudWiki
原表:商品类别表GoodsCategory
在apps/goods/models.py中。
这个表记录商品的所属类别,
一级类名、二级类名都用这个表表示
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
增添/修改字段
在上述文件中增添一个字段:parent_category_name ,source_site
parent_category_name = models.CharField(default="",null=True, max_length=30, verbose_name="父类别名", help_text="父类别名")
source_site = models.CharField(default="",null=True, max_length=30, verbose_name="来源网站",help_text="来源网站")
模型迁移及导入
python3 manage.py makemigrations
python3 manage.py sqlmigrate goods 0001
python3 manage.py migrate
验证
mysql -uroot -p
MariaDB [mxshop]> desc goods_goods;
+-------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | goods_sn | varchar(50) | NO | | NULL | | | name | varchar(100) | NO | | NULL | | | click_num | int(11) | NO | | NULL | | | sold_num | int(11) | NO | | NULL | | | fav_num | int(11) | NO | | NULL | | | goods_num | int(11) | NO | | NULL | | | market_price | double | NO | | NULL | | | shop_price | double | NO | | NULL | | | goods_brief | longtext | NO | | NULL | | | goods_desc | longtext | NO | | NULL | | | ship_free | tinyint(1) | NO | | NULL | | | goods_front_image | varchar(200) | YES | | NULL | | | is_new | tinyint(1) | NO | | NULL | | | is_hot | tinyint(1) | NO | | NULL | | | add_time | datetime | NO | | NULL | | | category_id | int(11) | NO | MUL | NULL | | | category1_name | varchar(100) | YES | | NULL | | | category2_name | varchar(100) | YES | | NULL | | | category3_name | varchar(100) | YES | | NULL | | | goods_url | varchar(150) | YES | | NULL | | | source_site | varchar(30) | YES | | NULL | | +-------------------+--------------+------+-----+---------+----------------+ 22 rows in set (0.01 sec)