我正在创建一个Django Web应用程序,我正在使用Postgres作为我的数据库。
在我的项目中,我有一个名为'home'的Web应用程序,我在Postgres中创建了一个名为'myTable'的表。
每当我尝试在表格中保存某些内容时,Django会自动查找名为“home_myTable”而非“myTable”的表格。例如,如果我这样做
python manage.py migrate
我收到以下错误:
django.db.utils.ProgrammingError: relation "home_myTable" does not exist
我一直在使用Psycopg2手动发出Postgres命令,但这真的很烦人。
有没有办法阻止Django自动开始寻找'home_myTable'而是让它搜索我想要的表?
答案 0 :(得分:1)
您可以为模型设置db_table
Meta选项。
class MyTable(models.Model):
...
class Meta:
db_table = 'mytable'
除非您正在处理遗留数据库,否则我建议您定义模型,创建迁移,然后让Django创建表,而不是像您一样手动创建表。