Database 在postgres中的选项卡之间创建外键关系

Database 在postgres中的选项卡之间创建外键关系,database,postgresql,foreign-keys,relational-database,Database,Postgresql,Foreign Keys,Relational Database,我必须填写以下表格: class BlogCategory(models.Model): name = models.CharField(max_length=255) class Meta: verbose_name = 'Blog category' verbose_name_plural = 'Blog categories' def __unicode__(self): return self.name cl

我必须填写以下表格:

class BlogCategory(models.Model):
    name = models.CharField(max_length=255)

    class Meta:
        verbose_name = 'Blog category'
        verbose_name_plural = 'Blog categories'

    def __unicode__(self):
        return self.name


class Blog(models.Model):
    category = models.ForeignKey(BlogCategory, related_name="blogs", null=True, blank=True)
我想创建博客和博客类别之间的foregin键关系。 以下是我对博士后的命令:

ALTER TABLE blog_blog ADD CONSTRAINT fk_blog_blogcategory FOREIGN KEY (category_id) REFERENCES blogcategory (name);
我犯了一个错误:

ERROR:  column "category_id" referenced in foreign key constraint does not exist
可以尝试以下方法:

ALTER TABLE blog_blog ADD CONSTRAINT fk_blog_blogcategory FOREIGN KEY (name) REFERENCES blogcategory (name);

在原始命令之前运行此命令:

ALTER TABLE blog_blog ADD COLUMN category_id integer;

有什么理由不使用makemigrations来执行此操作吗?是的,django版本1.0.4好的,那么我相信在运行原始命令之前,您还需要在blog\u blog上创建列category\u id。我得到
错误:没有唯一的约束匹配引用表“blog\u blogcategory”的给定键
Try
ALTER TABLE blog\u blog ADD CONSTRAINT fk\u blog\u blogcategory外键(category\u id)引用blogcategory(id)取而代之。或者您想使用名称作为主键?是的,我更喜欢名称。我执行了
altertable blog\u blog ADD COLUMN category\u id integer;ALTER TABLE blog_blog ADD CONSTRAINT fk_blog_blogcategory外键(category_id)引用blogcategory(id)我得到了
错误:关系“blogcategory”不存在
可能应该改为引用blog\u blogcategory(id)?下面是正确的命令:
ALTER TABLE blog\u blog ADD CONSTRAINT fk\u blogcategory外键(category\u id)引用blog\u blogcategory(id)。非常感谢你的帮助