0

我创建了一个虚拟项目,只是为了测试 Django 的新字段JSONField,但似乎没有创建该列(我使用的是 Postgresql)。

class Author(models.Model):

   name = models.CharField(max_length=50)
   description = models.TextField()
   slug = models.SlugField()
   details = models.JSONField()

   class Meta:
     verbose_name = "Author"

   def __str__(self):
      return self.name

如果我转到数据库,则不会创建该列 -屏幕截图

当我转到表作者的管理视图页面时,我收到以下错误 -屏幕截图

管理面板中的错误是可以理解的:您无法查看不存在的列。你们有同样的错误吗?我在任何地方都找不到 JSONField 的这个错误。

谢谢

注意:这是我的第一篇文章。

编辑我同时创建所有字段。迁移文件:

# Generated by Django 3.1.3 on 2020-11-20 10:35

from django.db import migrations, models


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Author',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=50)),
                ('description', models.TextField()),
                ('slug', models.SlugField()),
                ('details', models.JSONField()),
            ],
            options={
                'verbose_name': 'Author',
            },
        ),
    ]

成功迁移:

Migrations for 'blog':
  blog/migrations/0001_initial.py
    - Create model Author
4

1 回答 1

0

检查您的迁移是否应用于正确的数据库

于 2020-11-20T11:03:17.597 回答