51 lines
1.2 KiB
Python
51 lines
1.2 KiB
Python
|
import random
|
|||
|
|
|||
|
from Model.model_db import *
|
|||
|
|
|||
|
|
|||
|
def gen_new_rid():
|
|||
|
"""
|
|||
|
生成新的问题ID,如果该ID存在,则重新生成
|
|||
|
Parameters:
|
|||
|
-
|
|||
|
Returns:
|
|||
|
new_id: 生成的问题ID
|
|||
|
"""
|
|||
|
# 生成新ID
|
|||
|
new_id = make_id(8)
|
|||
|
# 检查新ID是否存在,如果存在则继续生成新ID
|
|||
|
case = find_records('问卷', '问题数据', {"ID": new_id}) is []
|
|||
|
while case:
|
|||
|
new_id = make_id(8)
|
|||
|
# 新ID可使用,返回新ID
|
|||
|
return new_id
|
|||
|
|
|||
|
|
|||
|
def make_id(num):
|
|||
|
"""
|
|||
|
随机生成字符串
|
|||
|
"""
|
|||
|
choices = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
|
|||
|
salt = ''
|
|||
|
for i in range(num):
|
|||
|
salt += random.choice(choices)
|
|||
|
return salt
|
|||
|
|
|||
|
|
|||
|
def insert_questionnaire_scripts(question):
|
|||
|
"""
|
|||
|
插入一条新的问题数据
|
|||
|
Parameters:
|
|||
|
question: dict 问题数据(包括:类型、题干、详情、打分标准)
|
|||
|
Returns:
|
|||
|
result: str 插入结果
|
|||
|
"""
|
|||
|
insert_dict = dict()
|
|||
|
insert_dict['ID'] = gen_new_rid()
|
|||
|
insert_dict = dict(insert_dict, **question)
|
|||
|
result = insert_data('问卷', '问题数据', insert_dict)
|
|||
|
if result:
|
|||
|
return '录入成功'
|
|||
|
else:
|
|||
|
return '录入失败'
|