def translateInsert(database, schema, table, mapDict, valueDict):
    """
    get the sql of insert
    mapDict：Model_feild to  of db_feild
    valueDict:the model_feild Name
    """
    if database is None or schema is None or table is None:
        raise 'interpreter cannot find the db or table'
    if mapDict is None or valueDict is None:
        raise AttributeError('db feild or value not be  none')
    schemaStr = '' if len(schema) <= 0 else f'.{schema}'
    insertStr = f'INSERT INTO {database}{schemaStr}."{table}"'
    parameters = []
    fields = []
    values = []
    for k, v in mapDict.items():
        if v.primary_key:
            continue
        if k in valueDict:
            parameters.append(valueDict.get(k))
            fields.append(v.name)
            values.append(f'${len(parameters)}')
        elif v.default is not None:
            parameters.append(v.default)
            fields.append(v.name)
            values.append(f'${len(parameters)}')
    if len(parameters) > 0:
        insertStr = (
            f"{insertStr} \n({','.join(fields)}) \nVALUES ({','.join(values)})"
            )
    return insertStr, parameters
