【发布时间】:2021-06-01 12:47:39
【问题描述】:
在 django 中,我在我的应用程序中创建了一个新模型(应用程序名称为 quiz),如下所示:
class Score(models.Model):
person1 = models.ForeignKey(Personality, on_delete=models.CASCADE, related_name="person1", blank=True, null=True, default=0)
person2 = models.ForeignKey(Personality, on_delete=models.CASCADE, related_name="person2", blank=True, null=True, default=0)
score = models.DecimalField(default=0, max_digits=5, decimal_places=2)
然后我开始进行 makemigrations 和 migrate,这是成功的。
我还向管理员注册了这个模型。但是每当我尝试在管理站点上打开它的页面时,我都会收到以下消息:
附:我使用 PostgreSQL 作为我的后端
编辑:在此处添加迁移的输出:
# Generated by Django 3.1.7 on 2021-06-01 13:40
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Personality',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('social', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('clean', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('organ', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('finance', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('opinion', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('people', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('cook', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('pet', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('night', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('spont', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('space', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('work', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('ambition', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('transport', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('chores', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('help', models.DecimalField(decimal_places=1, default=0, max_digits=5)),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Score',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('score', models.DecimalField(decimal_places=2, default=0, max_digits=5)),
('person1', models.ForeignKey(blank=True, default=0, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='person1', to='quiz.personality')),
('person2', models.ForeignKey(blank=True, default=0, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='person2', to='quiz.personality')),
],
),
]
【问题讨论】:
-
您能否向我们提供 makemigrations 和 migrate 命令的输出?
-
@MarcCompte 将迁移的输出添加到问题中
-
嗯,我很感兴趣,它看起来确实不错。在运行 migrate 命令时,您确实看到它正在执行此迁移,对吗?您在设置中只使用一个 DATABASE,还是有多个?
-
是的,仅此迁移。不,我没有使用其他数据库。
标签: django postgresql django-models