【发布时间】:2014-02-20 13:37:45
【问题描述】:
我有一个带有简单模型的小型 Django 项目。但是,我没有通过python manage.py syncdb 创建我的数据库,而是决定手动创建它并通过Meta 映射表,如下所示
class Item(models.Model):
name = models.CharField(max_length=50)
class Meta:
managed = False
db_table = 'ITEM'
但这不起作用。当我启动开发服务器并运行主视图时,Django 抛出一个错误,指出名为ITEM 的关系在数据库中不存在,而实际上它确实存在。
我进行了一些研究,但找不到遇到此类问题的人。有没有办法让它工作?
【问题讨论】:
-
@DanielRoseman 是的。这很奇怪。
-
会不会是大小写问题? Postgres 将表名转换为小写,除非查询有引号:binodsblog.blogspot.com/2011/02/…
-
@CantucciHQ 哇,真是令人惊讶,我从不怀疑这可能是问题所在。请回答问题,以便我接受:D
-
@Mauren 这是 SQL 标准行为,顺便说一句,尽管 SQL 规范说如果没有引用,名称应该是 大写。
-
@Mauren Oracle 并不以严格遵循规范而闻名;-)。我不喜欢这种特殊的 SQL 规范行为。
标签: python django postgresql