小编Jul*_*enD的帖子

Django migrate 不会更新我的数据库

从现有数据库开始,我想更新它的架构。我改变了我的一个模型,然后运行

python manage.py makemigrations myapp
Run Code Online (Sandbox Code Playgroud)

它创建迁移,正确定义新表和列。示例输出:

Migrations for 'myapp':
  0001_initial.py:
    - Create model Foo
    - Add field Bar
    - ...
Run Code Online (Sandbox Code Playgroud)

然后我应用迁移:

python manage.py migrate --database mydb
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:

Operations to perform:
  Apply all migrations: admin, myapp, contenttypes, sessions, auth
Running migrations:
  Rendering model states... DONE
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
Run Code Online (Sandbox Code Playgroud)

它似乎奏效了。Git告诉我“mydb”对应的sqlite文件已经改变了。但是,它没有将我的新表和列放在里面,而是删除了内容,留下了带有旧架构的空表。

我究竟做错了什么 ?

django django-migrations

2
推荐指数
1
解决办法
6330
查看次数

在React.js中创建可重用的助手函数

我一直在为我的最新应用程序构建React组件.我知道我可以重复使用有助于保持代码干净的组件.

我想知道我是否可以重用功能.我知道必须要有办法.

现在我有三个使用密码验证功能的组件.

passwordValidation() {
  const length = this.state.password.length;
  if (length > 7) return 'success';
  else if (length > 4) return 'warning';
  else if (length > 0) return 'error';
}
Run Code Online (Sandbox Code Playgroud)

我创建了一个帮助文件--helpers.jsx并添加:

export function passwordValidation() {
  const length = this.state.password.length;
  if (length > 7) return 'success';
  else if (length > 4) return 'warning';
  else if (length > 0) return 'error';
}
Run Code Online (Sandbox Code Playgroud)

然后我将它导入我的组件

import { passwordValidation } from '../helpers.jsx'
Run Code Online (Sandbox Code Playgroud)

当我尝试在我的构造函数中绑定"this"时,我不断收到错误"passwordValidation is a function".

如果我在输入标记中调用它,我将"无法读取未定义的属性状态".

只是想看看我哪里出错了.如果我在课堂上定义并添加,一切都有效this.passwordValidation = this.passwordValidation.bind(this).

如果这不是最佳实践,我会回到我正在做的事情,但我假设我应该能够导入函数以使生活更轻松,我的代码更清晰!

javascript reactjs redux

2
推荐指数
1
解决办法
4364
查看次数

光滑:得到表名

使用像这样的表定义:

class Test(_tableTag: Tag) extends Table[TestRow](_tableTag, "test") { ... }
Run Code Online (Sandbox Code Playgroud)

如何从一个实例中取回表名(Tag"test")Test

问题是我可以完美地执行一些查询db run TableQuery[Test].result,但是要编写原始sql,我需要表名.

slick-3.0

1
推荐指数
1
解决办法
758
查看次数

Scala:返回抽象方法的类型

如果具体类的相同方法具有不同的return(sub)类型,我无法弄清楚如何指定抽象类A的方法的返回类型:

abstract class A {
    def method: List[Common (?)]   // I want to force all subclasses to define this method
}

class B1 extends A {
    def method(a,b,c): List[Sub1] = {...}
}

class B2 extends A {
    def method(a,b,c): List[Sub2] = {...}
}
Run Code Online (Sandbox Code Playgroud)

我试图定义一个共同的特点Sub1Sub2:

abstract class Common   // or abstract class
case class Sub1 extends Common
case class Sub2 extends Common
Run Code Online (Sandbox Code Playgroud)

但我一直这样:

Compilation error[class B1 needs to be abstract, 
since method "method" in class A of …
Run Code Online (Sandbox Code Playgroud)

scala

0
推荐指数
1
解决办法
628
查看次数

为什么排序列表会返回None?

我的代码是用python 3编写的,它的目的是打印出回文.它应该遍历2个3位数字的所有回文产品,如下所示:

mylist=[]
for i in range(999,99,-1):
    for x in range(999, i-1, -1,):
        number=i*x
        number=str(number)
        if number==number[::-1]:
            #print(number)         
            mylist.append(number)
mylist=mylist.sort(reverse=True)
print(mylist)
Run Code Online (Sandbox Code Playgroud)

请注意已注释的打印件.当它仍然存在时,应该打印出的所有回文都出来了.当我运行我的代码而没有print语句时,控制台只打印出"无".

据我所知,我的逻辑是有序的,为什么会发生这种情况呢?编辑:此外,当我按相反顺序对列表进行排序时,首先是99999.我认为这是因为python看着连续的9并且认为它是最大的.但是,有没有一种简单的方法来获得实际最大的数字?

python reverse palindrome python-3.x

0
推荐指数
1
解决办法
2512
查看次数