我有 Django 应用程序和迁移文件002_auto.py,它使用Django RunPython来更改数据库。我不知道将来会创建多少迁移文件,但我希望该文件002_auto.py作为迁移过程的最后一部分应用。
如何在执行 django 迁移时将迁移设置为最后一个执行,而无需每次我想执行migrate命令时执行任何手动步骤(或dependencies每次添加新迁移时更改变量)?
ps我查看了 django 迁移文档和其他文章,但没有成功。
1)在Java中,我可以这样做:
Void z = null;
Run Code Online (Sandbox Code Playgroud)
除了null我可以指定之外还有其他值z吗?
2)考虑以下代码剪切:
Callable<Void> v = () -> {
System.out.println("zzz");
Thread.sleep(1000);
return null;
};
Run Code Online (Sandbox Code Playgroud)
这编译好了,但是如果我删除最后一个语句return null;则没有.为什么?毕竟,Void应该意味着没有回报价值.
基于下面的代码片段(为了清晰起见,它们已被缩短).
该scoreBoardState方法的目的是用于确定minimax算法中叶节点处的游戏状态的分数,该算法将被传递以确定AI进行的最佳移动.
这hasThreeInARowAndTwoOpenSpaces_Horizontal是通过scoreBoardState确定是否满足某些条件(例如连续3个令牌的玩家)调用的许多类似方法之一.如果为真,则返回满足该条件的玩家的数量,然后增加该玩家(人类玩家或AI)的得分.
需要在if语句中调用该方法以检查返回的值是否不为零(这意味着应该添加一些分数).我可以在if语句中设置方法返回的值(我在代码片段中做了),或者如果它不返回0,我可以再次调用该方法,然后将其设置为变量.显然,第二种方法效率较低,但它更易于人类阅读,更容易注意到正在发生的事情.
问题是,设置由if语句中调用的方法返回的变量被认为是不好的做法吗?或者它没关系,因为它更有效率?
注意:第二种方法的低效率增长相当快,因为它在for循环中,并且在测试每个条件时会出现这种情况很多次.它也是在minimax算法中为每个叶节点完成的(每个节点可以有7个分支)意味着深度只有3(我使用的最小值)有343个叶子节点和7个深度(目前我最高)使用)有近825,000个叶节点.
/* scores the board state of a root node in a minimax algorithm
* @gameState a 2 dimensional array that stores values for each space on the
* board. Stores 0 for empty or 1 or 2 if position is taken by a player
*/
int scoreBoardState (int[][] boardState) {
int aiScore = 0;
int playerScore = 0;
int player = -1;
for (int i = 0; i …Run Code Online (Sandbox Code Playgroud) 我有两个变量,如此
var variable_1 = "foo";
var variable_2 = "bar";
Run Code Online (Sandbox Code Playgroud)
我使用一个函数来获取复选框输入的值,对于每个选中的复选框,我想加载特定的变量,该变量取决于复选框的值.
$("input:checked").each(function() {
$(div).append('variable_'+$(this).val());
}
Run Code Online (Sandbox Code Playgroud)
所以我将文本'variable_'与每个复选框的值连接起来.
谢谢!
例如,如果在使用 pip 安装 Tornado 之后,如下所示:
pip install tornado
Collecting tornado
...
Successfully installed backports-abc certifi singledispatch six tornado
Run Code Online (Sandbox Code Playgroud)
pip freeze 不返回列表中的龙卷风包,它只显示:
PyMySQL==0.7.2
Run Code Online (Sandbox Code Playgroud)
当我运行easy_install它时也返回:
error: bad install directory or PYTHONPATH
You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from. The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
/lib/python2.7/site-packages/
and your PYTHONPATH environment variable currently contains:
''
Run Code Online (Sandbox Code Playgroud)
出了什么问题?
背景
我正在使用boto3代码从s3下载文件,这是以下代码。
for record in event['Records']:
bucket = record['s3']['bucket']['name']
key = record['s3']['object']['key']
print (key)
if key.find('/') < 0 :
if len(key) > 4 and key[-5:].lower() == '.json': //File is uploaded outside any folder
download_path = '/tmp/{}{}'.format(uuid.uuid4(), key)
else:
download_path = '/tmp/{}/{}'.format(uuid.uuid4(), key)//File is uploaded inside a folder
Run Code Online (Sandbox Code Playgroud)
如果在s3存储桶中上传了新文件,则会触发此代码,并且此代码会下载该新上传的文件。
将其上传到任何文件夹之外时,此代码可以正常工作。
但是,当我在目录中上载文件时,会发生IO错误。这是我遇到的IO错误的转储。
[Errno 2]没有这样的文件或目录: /tmp/316bbe85-fa21-463b-b965-9c12b0327f5d/test1/customer1.json.586ea9b8:IOError
test1是s3存储桶中的目录,其中上载了customer1.json。
询问
有什么想法,如何解决这个错误?
我尝试使用命令运行我的应用程序服务docker stack deploy。使用此命令我收到以下错误:
"starting container failed: error creating external connectivity network: cannot restrict inter-container communication: please ensure that br_netfilter kernel module is loaded"
Run Code Online (Sandbox Code Playgroud)
我的服务的 Docker-compose 文件如下,它只包含一项服务:
version: '3.1'
services:
app_service:
image: app-image:latest
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试使用 simple 来运行此服务docker run app-image:latest,那么它会正确运行。这里可能有什么问题?
以下是输出docker info:
Containers: 44
Running: 0
Paused: 0
Stopped: 44
Images: 11
Server Version: 18.06.0-ce
Storage Driver: vfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用模拟名称创建 MagicMock,它似乎不起作用,但适用于其他属性:
from unittest.mock import MagicMock
# Works
assert MagicMock(foo='bar').foo == 'bar'
# Don't work
assert MagicMock(name='bar').name == 'bar'
print(MagicMock(name='bar').name)
<MagicMock name=\'bar.name\' id=\'140031146167376\'>
Run Code Online (Sandbox Code Playgroud)
如何使用 MagicMock 模拟名称属性?
我曾经知道i <= N和之间没有区别i < N+1
但是,当我进入6 6程序时.
如果i <= N那么它打印
1 6 6
6 1 1
2 3 3
3 2 2
除此以外
1 6 6
6 1 1
2 3 3
3 2 2
3 2 2
2 3 3
我无法弄清楚它为何会有所作为
#include <iostream>
#include <cmath>
using namespace std;
typedef long long LNT;
LNT gcd(LNT a, LNT b)
{
if( b == 0)
return a;
return gcd(b, a%b);
}
int main()
{
LNT …Run Code Online (Sandbox Code Playgroud) 我想要一个菜单,你可以从中选择一些动作.
问题是,当我们选择一个,并按下"返回"键时,将跳过应该是下一步的用户输入命令.这是为什么 ?
代码是:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
int choice;
do
{
printf("Menu\n\n");
printf("1. Do this\n");
printf("2. Do that\n");
printf("3. Leave\n");
scanf("%d",&choice);
switch (choice)
{
case 1:
do_this();
break;
case 2:
// do_that();
break;
}
} while (choice != 3);
return(0);
}
int do_this()
{
char name[31];
printf("Please enter a name (within 30 char) : \n");
gets(name); // I know using gets is bad but I'm just using it
// fgets(name,31,stdin); // gives the …Run Code Online (Sandbox Code Playgroud) python ×3
c ×2
java ×2
amazon-s3 ×1
aws-lambda ×1
boto3 ×1
c++ ×1
comparison ×1
django ×1
docker ×1
docker-swarm ×1
dockerfile ×1
flush ×1
for-loop ×1
javascript ×1
jquery ×1
mocking ×1
pip ×1
printf ×1
python-2.7 ×1
unit-testing ×1
variables ×1
void ×1