更改表在postgres上设置唯一错误

时间:2010-07-31 09:20:01

标签: django postgresql alter-table

我使用Postgres作为DBMS和Django。

我定义表的模型是:

class TtnetModem(models.Model):
    ttnetModemSerino=models.CharField(_(u"Seri No"), max_length=20, default='', null=True, blank=True)

我改变了字段定义......

ttnetModemSerino=models.CharField(_(u"Seri No"), max_length=20, unique= True)

在postgres上,我执行:

ALTER TABLE bayiislemleri_ttnetmodem ADD CONSTRAINT ttnetModemSerino_key UNIQUE(ttnetModemSerino);

bayiislemleri是我的应用程序名称,ttnetmodem是我的模型名称...但是我得到了floolwing错误:

  

错误:在密钥中命名的列“ttnetmodemserino”不存在

我做错了什么?

1 个答案:

答案 0 :(得分:1)

ttnetmodemserino是小写的,看起来ttnetModemSerino有一些大写字符。确保您的SQL使用对象的双引号:

ALTER TABLE bayiislemleri_ttnetmodem ADD CONSTRAINT ttnetModemSerino_key UNIQUE("ttnetModemSerino");

我不知道如何在Django中做到这一点,无法帮助你。