我有一个模型,并为这个模型有一个模型管理器.我正在模型管理器中编写一些sql,我需要在sql中使用模型的表名.我知道表的名称由元数据app_label和db_name组合,但是我可以从经理类访问它们吗?我知道我可以在经理中创建一个模型实例,但我宁愿不这样做..
非常感谢!
我先跑了
python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)
它为我创建了数据库和表格,然后我尝试添加更多应用程序,这就是我所做的:
创建应用程序
python manage.py startapp newapp
Run Code Online (Sandbox Code Playgroud)
然后,我添加'newapp'到INSTALLED_APPS在setting.py:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'newapp',
)
Run Code Online (Sandbox Code Playgroud)
最后我跑了syncdb:
python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)
这是我得到的结果:
Creating tables ...
Installing custom SQL ...
Installing indexes ...
Installed 0 object(s) from 0 fixture(s)
Run Code Online (Sandbox Code Playgroud)
我检查了我的数据库,没有命名的表newapp,没有表的名称newapp.
我正在使用jq解析JSON文件,将一系列中的每个JSON数组提取到一个shell数组中.
我当前的代码如下所示:
for ((i = 0; i < ${#nvars[@]}; i++)); do
v1=($(cat $INPUT | jq '."config"[i]."var1"[]'))
echo $v1
done
Run Code Online (Sandbox Code Playgroud)
错误信息:
error: i is not defined
Run Code Online (Sandbox Code Playgroud)
我也换了
v1=($(cat $INPUT | jq '."config"[i]."var1"[]'))
Run Code Online (Sandbox Code Playgroud)
同
v1=($(cat $INPUT | jq '."config"[$i]."var1"[]'))
Run Code Online (Sandbox Code Playgroud)
还是行不通.任何的想法?任何帮助表示赞赏!
编辑:示例输入数据
{
"config-vars":[
{
"var1":["v1","v2"],
"var2":""
},
{
"var1":["v3",""],
"var2":"v4"
}
]
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试提取.tar文件(从目录打包),然后检查解压缩目录中的文件名称.我正在使用tar-fs来提取tar文件,然后使用fs.createReadStream来操作数据.这是我到目前为止所得到的:
fs.createReadStream(req.files.file.path)
.pipe(tar.extract(req.files.file.path + '0'))
.on('error', function() {
errorMessage = 'Failed to extract file. Please make sure to upload a tar file.';
})
.on('entry', function(header, stream, callback) {
console.error(header);
stream.on('end', function() {
console.error("this is working");
});
})
.on('end', function() {
//the one did not get called
console.error('end');
})
;
Run Code Online (Sandbox Code Playgroud)
我希望提取整个文件夹,然后检查文件名.好吧,我还没到那么远......
根据我的理解,我在管道后面有一个可读的流.可读流有结束事件吗?我的问题是,为什么end代码中的事件没有被调用?
谢谢!