Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在带有Postgresql数据库的Django中运行migrate命令时出错_Python_Django_Python 3.x_Postgresql_Psycopg2 - Fatal编程技术网

Python 在带有Postgresql数据库的Django中运行migrate命令时出错

Python 在带有Postgresql数据库的Django中运行migrate命令时出错,python,django,python-3.x,postgresql,psycopg2,Python,Django,Python 3.x,Postgresql,Psycopg2,我正在使用最新版本的psycopg2django 2.2和Postgresql 10.11作为数据库处理django项目。 但当我运行migrate命令时,特定迁移会发生以下错误 运行迁移: 正在应用panelprofile.0003_auto_20191007_1700…回溯(最近一次呼叫最后一次): 文件“manage.py”,第21行,在 main() 文件“manage.py”,第17行,主 从命令行(sys.argv)执行命令 文件“C:\Users\Pouya\Desktop\pro

我正在使用最新版本的psycopg2django 2.2Postgresql 10.11作为数据库处理django项目。 但当我运行migrate命令时,特定迁移会发生以下错误

运行迁移:
正在应用panelprofile.0003_auto_20191007_1700…回溯(最近一次呼叫最后一次):
文件“manage.py”,第21行,在
main()
文件“manage.py”,第17行,主
从命令行(sys.argv)执行命令
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\core\management\ \uuuuuu init\uuuuuu.py”,第381行,从命令行执行
utility.execute()
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\core\management\\ uuu init\uuu.py”,第375行,在execute中
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\core\management\base.py”,第323行,从\u argv运行
self.execute(*args,**cmd_选项)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\core\management\base.py”,第364行,在execute中
输出=self.handle(*args,**选项)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\core\management\base.py”,第83行,包装为
res=句柄函数(*args,**kwargs)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\core\management\commands\migrate.py”,第234行,位于handle中
假首字母=假首字母,
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\migrations\executor.py”,在migrate中的第117行
状态=self.\u迁移\u所有\u转发(状态,计划,完整计划,假=假,假首字母=假首字母)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\migrations\executor.py”,第147行,全部向前迁移
state=self.apply\u迁移(state,migration,false=false,false\u initial=false\u initial)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\migrations\executor.py”,第245行,在apply\u migration中
state=migration.apply(状态,模式编辑器)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\migrations\migration.py”,应用中第124行
操作。数据库转发(self.app\u标签、模式编辑器、旧状态、项目状态)
数据库中的文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\migrations\operations\fields.py”第249行
schema_editor.alter_字段(从_模型、从_字段到_字段)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\backends\base\schema.py”,第535行,在alter\u字段中
旧参数,新参数,严格)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\backends\postgresql\schema.py”,第122行,在\u alter\u字段中
新的参数,严格的,
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\backends\base\schema.py”,第648行,在\u alter\u字段中
旧默认值=自生效默认值(旧字段)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\backends\base\schema.py”,第233行,默认有效
返回字段.get\u db\u prep\u save(self.\u effective\u default(字段),self.connection)
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\backends\base\schema.py”,第212行,默认有效
默认值=字段。获取默认值()
文件“C:\Users\Pouya\Desktop\programs\python\marketpine backend\venv\lib\site packages\django\db\models\fields\\ uuuu init\uuuuu.py”,第797行,默认为get\u
返回self.\u获取\u默认值()
TypeError:SET_NULL()缺少4个必需的位置参数:“收集器”、“字段”、“子对象”和“使用”
以下是发生此错误的迁移文件:

#由Django 2.2于2019-10-07 13:30生成
从django.db导入迁移、模型
类迁移(migrations.Migration):
依赖项=[
('panelprofile'、'0002_auto_20191007_1655'),
]
操作=[
AlterField迁移(
型号\u name='smspanelinfo',
name='api_key',
field=models.TextField(),
),
]
这就是迁移所属的模型:

类SMspaneInfo(models.Model):
商人=models.OneToOneField(商人,on_delete=models.CASCADE)
用户名=models.CharField(最大长度=20)
api_key=models.TextField()
状态选项=[('1','ACTIVE'u LOGIN'),('0','INACTIVE'),('2','ACTIVE')]
status=models.CharField(max_length=1,choices=status_choices,默认值为0)
允许的最小\u信用=型号。正整数字段(默认值=10000)
credit=models.PositiveIntegerField(默认值=1000)
sms\u farsi\u成本=型号。PositiveSmallIntegerField()
sms\u english\u cost=models.PositiveIntegerField()
def停用(自我):
"""
停用kavenegar中用户的sms面板
:返回:
"""
ClientManagement().停用\u sms\u面板(self.api\u键)
self.status=SMSPanelStatus.INACTIVE
self.save()
def激活(自):
"""
激活kavenegar上的sms面板
:返回:
"""
ClientManagement().激活\u sms\u面板(self.api\u键)
self.status=SMSPanelStatus.ACTIVE\u登录
self.save()
def创建短信面板(自我,用户:商人,密码:str):
client=ClientManagement()
info=客户端。添加用户(用户,密码)
info.businessor=用户
info.save()
返回信息
def更新面板信息(自我):
# in models.py
api_key = models.TextField(default=None, null=True)

# in 0002_auto_20191007_1655
('api_key', models.TextField(default=None, null=True)),