69 lines
2.0 KiB
Python
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()
|