应用程序名称附加到 django 中的表名称
Posted
技术标签:
【中文标题】应用程序名称附加到 django 中的表名称【英文标题】:app name is appended to the table name in django 【发布时间】:2017-11-17 16:34:58 【问题描述】:当我尝试从表中获取数据时,应用程序名称会附加到表名称并显示错误。以下是我的代码。
from models import open_cart
class test(APIView):
def get(self,request,format=None):
values = open_cart.objects.get()
我在 installed_apps 中定义的应用名称是“MyApp”。我的表名称是“open_cart”。查询中的表名称为 MyApp_open_cart 而不是 open_cart。 我收到的错误消息是 relation "untitled_open_cart" 不存在
【问题讨论】:
发布您的模型以及设置文件 【参考方案1】:将应用程序名称附加到表名称是 Django 中的默认行为。如果您想使用自定义表名,请将其添加到Meta class。
class MyModel(models.Model):
class Meta(CommonInfo.Meta):
db_table = 'student_info'
请参阅official Django Model Meta options documentation 了解更多信息。
【讨论】:
【参考方案2】:Django 默认在模型名称前附加应用名称。如果我们想使用我们的自定义表名,那么它必须在 Meta 类中提及。
class Open_cart(models.Model):
class Meta:
db_table = 'open_cart'
【讨论】:
以上是关于应用程序名称附加到 django 中的表名称的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 django 在 mysql 中的两个不同模式中使用两个具有相同名称的表
我如何在字典中附加一个数组(名称),并在 plist 中的同一数组下附加一个字典项?
如何创建一个名称取自 PostgreSQL 中的字符串的表?