问题解决:django模型查询报错,找不到数据库表

django项目,使用的postgresql数据库,建了多个模式,模型查询时一直默认查public的表

1. 问题

django.db.utils.ProgrammingError: relation "ip_management_app.table" does not exist

2. 代码:

python 复制代码
class IpTag(models.Model):
    id = models.AutoField(primary_key=True)
    update_time = models.BigIntegerField()
    user_id = models.IntegerField()
    tab_type = models.IntegerField(default=1)
    tag = models.CharField(max_length=150)
    prefix_id = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'ip_tag'


IpTag.objects.all()

3. 解决方案

(1)使用的django2.0,settings文件中修改数据库配置,增加OPTIONS

python 复制代码
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '5432',
        'OPTIONS': {
            'options': '-c search_path=ip_management_app,public'
        }
    }
}

(2)其他方案

python 复制代码
class IpTag(models.Model):
    id = models.AutoField(primary_key=True)
    update_time = models.BigIntegerField()
    user_id = models.IntegerField()
    tab_type = models.IntegerField(default=1)
    tag = models.CharField(max_length=150)
    prefix_id = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'ip_management_app.ip_tag'


IpTag.objects.all()

修改db_table,有这样的解决方案,但是对我没有效果,不知是否django版本问题,有问题的可以都试下,第一种解决了我的问题

相关推荐
dapeng28701 小时前
机器学习与人工智能
jvm·数据库·python
洛兮银儿2 小时前
如何用python连接mysql数据库?
数据库·mysql
CDN3602 小时前
MySQL安全加固十大硬核操作及CDN的隐形守护
数据库·mysql·安全
小江的记录本2 小时前
【VO、DTO、Entity】VO、DTO、Entity三大核心数据对象全解析(附核心对比表 + 代码示例)
java·数据库·spring boot·spring·架构·mybatis·数据库架构
全栈凯哥2 小时前
19.Python中的标准库完全指南
python
毕设源码-邱学长2 小时前
【开题答辩全过程】以 基于python的天气预测可视化系统为例,包含答辩的问题和答案
开发语言·python
不想看见4042 小时前
Qt 框架中的信号与槽机制【详解】
服务器·数据库·qt
白鸽梦游指南2 小时前
redis-cluster集群实验及解析
数据库·redis·缓存
B站计算机毕业设计之家2 小时前
Python 基于协同过滤的动漫推荐与数据分析平台 Django框架 协同过滤推荐算法 可视化 数据分析 大数据 大模型 计算机毕业设计(建议收藏)✅
大数据·python·scrapy·数据分析·django·课程设计·推荐算法
阿贵---2 小时前
构建一个基于命令行的待办事项应用
jvm·数据库·python