我在Yii2中有一个Rest API,Yii生成所有动作
查看/更新/创建/删除
我想改变createMethode和其他方法的comportement,所以我不能使用类Controller,我应该使用类ActiveController
但我希望该类做同样的工作,我需要在创建之前添加一些操作,并在创建之后添加一些操作.所以我需要覆盖actionCreate
我该怎么做 ?
我有一个包含这两个真正的字段的表current和origin.
current价值定期更新.我想写一个重置脚本:对于每一行,我想把origin值放在current值中.
在MySQL中,可以使用此查询:
update MyTable set current = origin
Run Code Online (Sandbox Code Playgroud)
我尝试使用查询生成器在Yii2中编写此代码:
return $this->updateAll(['current' => 'origin']);
Run Code Online (Sandbox Code Playgroud)
但是这不起作用,因为它origin被解释为字符串并且所有行都使用值更新0.
那么我如何使用另一个字段的值更新字段值updateAll()?
我有名为“ app1”的django应用,其中包含模型和迁移文件。我将此应用程序重命名为“ app2”,并修复了所有导入,URL ...但是我在迁移表中的文件和数据时遇到问题。如何以正确的方式编写迁移,以确保:-新安装=>创建新表-更新旧版本=>创建新表,移动数据,删除旧表
PS:有很多FK的几张桌子。
这是我的进度,我不确定自己是否处于良好状态:-删除了所有旧的迁移-makemigrations以生成新的迁移文件
经过这两个步骤,我可以安装我的应用程序,但是旧版本仍然有问题。
问题:迁移数据的最佳方法是什么?
PS:我不使用南方。
我有这个Django代码
q1 = MyModel.objects.all()
q2 = MyModel.objects.all()
Run Code Online (Sandbox Code Playgroud)
当我尝试
print q1 == q2
Run Code Online (Sandbox Code Playgroud)
我得到的结果
False
Run Code Online (Sandbox Code Playgroud)
那么,如何检查Django中两个查询集的结果是否相等?