Django 图像字段
Django imageField
我正在尝试设置一个 imageField 以在管理页面上载图片,但出现此错误。
no such column: series_serie.serie_cover
这是型号:
class Serie (models.Model):
serie_name = models.CharField(max_length=100)
serie_cover = models.ImageField(upload_to='/')
def __str__(self):
return (self.serie_name)
这是迁移文件:
migrations.CreateModel(
name='Serie',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('serie_name', models.CharField(max_length=100)),
('serie_cover', models.ImageField(upload_to=b'')),
],
我做了以下内容:
- pythonmanage.py齐平
- python manage.py makemigrations
- python manage.py 迁移
然后我尝试从管理员端访问 Serie 模型,但出现了错误。
我能做什么?
谢谢。
在您的模型中,您有一个名为 serie_image
的字段,但在您的迁移中,您试图将该行应用到名称为 serie_cover
的 table。这行不通。
您可以更改模型上的名称以匹配您尝试应用的迁移,也可以更改迁移以匹配模型。
像这样:
class Serie (models.Model):
serie_name = models.CharField(max_length=100)
serie_cover = models.ImageField(upload_to='/')
def __str__(self):
return (self.serie_name)
migrations.CreateModel(
name='Serie',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('serie_name', models.CharField(max_length=100)),
('serie_cover', models.ImageField(upload_to=b'')),
],
或者这样:
class Serie (models.Model):
serie_name = models.CharField(max_length=100)
serie_image = models.ImageField(upload_to='/')
def __str__(self):
return (self.serie_name)
migrations.CreateModel(
name='Serie',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('serie_name', models.CharField(max_length=100)),
('serie_image', models.ImageField(upload_to=b'')),
],
我解决了删除文件 'db.sqlite3' 并使用 makemigrations 重新生成它的问题。由于某种原因,名称卡在那里,我无法更改它。
我正在尝试设置一个 imageField 以在管理页面上载图片,但出现此错误。
no such column: series_serie.serie_cover
这是型号:
class Serie (models.Model):
serie_name = models.CharField(max_length=100)
serie_cover = models.ImageField(upload_to='/')
def __str__(self):
return (self.serie_name)
这是迁移文件:
migrations.CreateModel(
name='Serie',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('serie_name', models.CharField(max_length=100)),
('serie_cover', models.ImageField(upload_to=b'')),
],
我做了以下内容:
- pythonmanage.py齐平
- python manage.py makemigrations
- python manage.py 迁移
然后我尝试从管理员端访问 Serie 模型,但出现了错误。
我能做什么?
谢谢。
在您的模型中,您有一个名为 serie_image
的字段,但在您的迁移中,您试图将该行应用到名称为 serie_cover
的 table。这行不通。
您可以更改模型上的名称以匹配您尝试应用的迁移,也可以更改迁移以匹配模型。
像这样:
class Serie (models.Model):
serie_name = models.CharField(max_length=100)
serie_cover = models.ImageField(upload_to='/')
def __str__(self):
return (self.serie_name)
migrations.CreateModel(
name='Serie',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('serie_name', models.CharField(max_length=100)),
('serie_cover', models.ImageField(upload_to=b'')),
],
或者这样:
class Serie (models.Model):
serie_name = models.CharField(max_length=100)
serie_image = models.ImageField(upload_to='/')
def __str__(self):
return (self.serie_name)
migrations.CreateModel(
name='Serie',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('serie_name', models.CharField(max_length=100)),
('serie_image', models.ImageField(upload_to=b'')),
],
我解决了删除文件 'db.sqlite3' 并使用 makemigrations 重新生成它的问题。由于某种原因,名称卡在那里,我无法更改它。