我有一个django博客项目,最近对我的本地环境进行了更改,现在我手动迁移到我的生产服务器。我设法几乎完成了这个,但是在psql / postgres中我使用命令:
\ d posts_post
外键字段:
"分类" (models.ForeignKey(' Category',null = True,blank = True))
根据终端无处可见。我已经制作了另一个迁移文件:
from __future__ import unicode_literals
from django.db import migrations, models
import mptt.fields
import django.utils.timezone
import mptt
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('posts', '0016_remove_post_category'),
]
operations = [
migrations.AddField(
model_name="Post",
name = "Category",
field = models.ForeignKey('Category', null=True, blank=True)
),
]
但是,当我运行migrate命令时,它实际上删除了该字段。
a)为什么经理会删除我的字段而不是添加字段?
b)为什么这样做虽然显然根本不存在?答案 0 :(得分:1)
如果你看到category_id,那么就是它的FK映射字段。您无法看到外键与models.py
中的外键相同。它将在数据库级别以_id
为后缀。
但是当您使用django orm时,您将只使用您在models.py