获取sqlite3.OperationalError:没有此类列:当我尝试迁移时,REFERRED.id

时间:2019-12-03 19:10:24

标签: django python-3.x sqlite django-models error-handling

我刚刚在Item模型中添加了新的imageField。然后运行命令makemigrations,在执行迁移命令后,我开始获取“ sqlite3.OperationalError:无此类列:REFERRED.id”。然后,我删除了更改并尝试迁移,但仍然存在相同的错误。我之前尝试过所有相同的讨论,但没有任何变化。仍然有相同的错误。因此,由于此错误,我无法添加任何字段

class Item(models.Model):
title = models.CharField(max_length=100)
price = models.FloatField()
discount_price = models.FloatField(blank=True, null=True)
category = models.CharField(choices=CATEGORY_CHOICES, max_length = 2)
label = models.CharField(choices=LABEL_CHOICES, max_length = 1)
slug = models.SlugField()
description = models.TextField()

def __str__(self):
    return self.title

def get_absolute_url(self):
    return reverse('core:''product', kwargs={
        'slug': self.slug
    })

def get_add_to_cart_url(self):
    return reverse('core:''add-to-cart', kwargs={
        'slug': self.slug
    })

def get_remove_from_cart_url(self):
    return reverse('core:''remove-from-cart', kwargs={
        'slug': self.slug
    })

这是回溯:

 (env) PS C:\Users\User\desktop\dj-projects\django_project_boilerplate> python manage.py migrate
Operations to perform:
  Apply all migrations: account, admin, auth, contenttypes, core, sessions, sites, socialaccount
Running migrations:
  Applying core.0013_auto_20191119_2152...Traceback (most recent call last):
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\utils.py", line 82, in _execute
    return self.cursor.execute(sql)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\sqlite3\base.py", line 381, in execute
    return Database.Cursor.execute(self, query)
sqlite3.OperationalError: no such column: REFERRED.id

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\core\management\base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\core\management\base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\core\management\base.py", line 83, in wrapped
    res = handle_func(*args, **kwargs)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\core\management\commands\migrate.py", line 234, in handle
    fake_initial=fake_initial,
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\migrations\executor.py", line 117, in migrate
    state = self._migrate_all_forwards(state, plan, full_plan, fake=fake, fake_initial=fake_initial)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\migrations\executor.py", line 147, in _migrate_all_forwards
    state = self.apply_migration(state, migration, fake=fake, fake_initial=fake_initial)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\migrations\executor.py", line 247, in apply_migration
    migration_recorded = True
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\sqlite3\schema.py", line 34, in __exit__
    self.connection.check_constraints()
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\sqlite3\base.py", line 341, in check_constraints
    column_name, referenced_column_name,
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\utils.py", line 99, in execute
    return super().execute(sql, params)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\utils.py", line 67, in execute
    return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\utils.py", line 76, in _execute_with_wrappers
    return executor(sql, params, many, context)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\utils.py", line 89, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\utils.py", line 82, in _execute
    return self.cursor.execute(sql)
  File "C:\Users\User\desktop\dj-projects\django_project_boilerplate\env\lib\site-packages\django\db\backends\sqlite3\base.py", line 381, in execute
    return Database.Cursor.execute(self, query)
django.db.utils.OperationalError: no such column: REFERRED.id

这里是0013移民

    # Generated by Django 2.2 on 2019-11-19 16:52

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('core', '0012_auto_20191114_0053'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='order',
            name='id',
        ),
        migrations.AddField(
            model_name='order',
            name='order_id',
            field=models.AutoField(default='1', primary_key=True, serialize=False),
            preserve_default=False,
        ),
    ]

这里是0014自动迁移

# Generated by Django 2.2 on 2019-11-19 16:56

from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ('core', '0013_auto_20191119_2152'),
    ]

    operations = [
        migrations.RemoveField(
            model_name='order',
            name='order_id',
        ),
        migrations.AddField(
            model_name='order',
            name='id',
            field=models.AutoField(auto_created=True, default='1', primary_key=True, serialize=False, verbose_name='ID'),
            preserve_default=False,
        ),
    ]

0 个答案:

没有答案