taibai_shopping/create_sample_specs.py
2025-07-04 19:07:35 +08:00

69 lines
2.0 KiB
Python

"""
创建示例规格数据
"""
from app import create_app
from config.database import db
from app.models.product import SpecName, SpecValue
def create_sample_specs():
"""创建示例规格数据"""
app = create_app()
with app.app_context():
# 检查是否已有数据
if SpecName.query.count() > 0:
print("规格数据已存在,跳过创建")
return
print("开始创建规格数据...")
# 创建规格名称
specs_data = [
{
'name': '颜色',
'values': ['红色', '蓝色', '黑色', '白色', '金色', '银色']
},
{
'name': '尺寸',
'values': ['S', 'M', 'L', 'XL', 'XXL']
},
{
'name': '内存',
'values': ['4GB', '8GB', '16GB', '32GB']
},
{
'name': '存储容量',
'values': ['64GB', '128GB', '256GB', '512GB', '1TB']
},
{
'name': '型号',
'values': ['标准版', '升级版', '专业版', '旗舰版']
}
]
for i, spec_data in enumerate(specs_data):
# 创建规格名称
spec_name = SpecName(
name=spec_data['name'],
sort_order=i + 1
)
db.session.add(spec_name)
db.session.flush() # 获取ID
# 创建规格值
for j, value in enumerate(spec_data['values']):
spec_value = SpecValue(
spec_name_id=spec_name.id,
value=value,
sort_order=j + 1
)
db.session.add(spec_value)
print(f"✅ 创建规格:{spec_data['name']} - {len(spec_data['values'])} 个值")
db.session.commit()
print("✅ 规格数据创建完成!")
if __name__ == '__main__':
create_sample_specs()