Python Django:迁移时遇到操作错误
我在ubuntu服务器上部署代码时遇到了这个错误。我在本地(macOS Mojave)测试了迁移,没有出错 我试图删除所有迁移文件,除了Python Django:迁移时遇到操作错误,python,django,django-models,django-migrations,Python,Django,Django Models,Django Migrations,我在ubuntu服务器上部署代码时遇到了这个错误。我在本地(macOS Mojave)测试了迁移,没有出错 我试图删除所有迁移文件,除了\uuuu intit\uuuu.py,但Django给出了相同的错误 错误回溯(home是我的应用程序的名称): 我有一个型号Customer和一个型号Order,db_表名为“xxx(S)”。也许“(S)”触发了一些奇怪的行为。我是SQL和django的新手。有人能帮我解释一下吗 我正在使用Django3.0.3(2.2.5也失败了)和ubuntu 16.0
\uuuu intit\uuuu.py
,但Django给出了相同的错误
错误回溯(home是我的应用程序的名称):
我有一个型号Customer
和一个型号Order
,db_表名为“xxx(S)”。也许“(S)”触发了一些奇怪的行为。我是SQL和django的新手。有人能帮我解释一下吗
我正在使用Django3.0.3(2.2.5也失败了)和ubuntu 16.04。这段代码似乎在MacOS上运行良好
编辑2:
迁移脚本:0001_initial.py
# Generated by Django 3.0.3 on 2020-02-21 16:49
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Customer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
],
),
migrations.CreateModel(
name='Order',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('orderNum', models.CharField(max_length=255, unique=True)),
('customer_idx', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='home.Customer')),
],
options={
'db_table': 'xxx(S)',
},
),
]
您指的是型号
订单
到数据表xxx(S)
。由于型号订单
与客户
型号相关,客户
型号也应存在于同一数据库xxx中
为客户创建元类并引用相同的数据库
class Meta:
db_table = 'xxx(S)'
我终于明白了。sql中的括号表示列选择,因此表名“xxx(S)”被解释为选择表“xxx”的列“S”。因此,只需更改表名即可解决此问题。您可能需要使用适当的名称来编辑您的问题-仅通过回溯来调试此类问题是完全不可能的。此外:“我试图删除所有迁移文件”=>我不知道您从何处获得此想法,但这是最糟糕的事情了。我试图刷新数据库,因为它是空的,我还删除了迁移文件并重拨了makemigrations命令,因为我认为这样做可以重置所有内容@Brunodesshuilliers上传0001_initial.py迁移文件的代码。我已经上传了最小案例和迁移文件。谢谢大家!@m0dknight
# Generated by Django 3.0.3 on 2020-02-21 16:49
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Customer',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
],
),
migrations.CreateModel(
name='Order',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('orderNum', models.CharField(max_length=255, unique=True)),
('customer_idx', models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='home.Customer')),
],
options={
'db_table': 'xxx(S)',
},
),
]
class Meta:
db_table = 'xxx(S)'