Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django模型构建表名称错误_Python_Django_Postgresql_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

Python django模型构建表名称错误

Python django模型构建表名称错误,python,django,postgresql,amazon-web-services,amazon-ec2,Python,Django,Postgresql,Amazon Web Services,Amazon Ec2,我的ec2实例在aws免费层上有一个postgresql RDS实例。我本应该使用EB,但直到我有了很多东西,才真正了解它,我对重新开始一个新的ami并不感到兴奋。我正在尝试构建与db的第一次交互,其中有一个名为server_config的表,创建为: CREATE TABLE SERVER_CONFIGS ( config_key VARCHAR(63) NOT NULL, config_value VARCHAR(63) NOT NULL, UNIQUE (config_key)

我的ec2实例在aws免费层上有一个postgresql RDS实例。我本应该使用EB,但直到我有了很多东西,才真正了解它,我对重新开始一个新的ami并不感到兴奋。我正在尝试构建与db的第一次交互,其中有一个名为server_config的表,创建为:

CREATE TABLE SERVER_CONFIGS
(
  config_key VARCHAR(63) NOT NULL,
  config_value VARCHAR(63) NOT NULL,
  UNIQUE (config_key)
);
INSERT INTO SERVER_CONFIGS (config_key,config_value) 
  VALUES ('ClientMustVerify','TRUE');
INSERT INTO SERVER_CONFIGS (config_key,config_value) 
  VALUES ('Auditing','FALSE');
COMMIT;
在我的django应用程序中,我有: models.py:

from django.db import models

class serverConfig(models.Model):

    config_key = models.CharField(max_length=63)
    config_value = models.CharField(max_length=63)
view.py的摘录:

from limbo.models import serverConfig
def editServer(request):
    myConfigs = serverConfig.objects.all()
    configHtml = ""
    # for item in myConfigs #serverConfig.objects.values()
    #   configHtml += item.config_key + "\t" + item.config_value + "\n"

    if request.method == 'POST':
        form = serverForm(request.POST)
        if form.is_valid():
            integer = form.cleaned_data['int_field']
            request.session['integer'] = integer

            # call out to limboLogic.py to update values, add them to the session
            message = 'The value \'' + str(integer) + '\' has been updated.'
            return render(request, 'limboHtml/ServerConfiguration.html', {'form': form, 'SubmitMessage': message, 'CurrentConfigs': myConfigs})
        else:
            message = 'The server configuration has NOT been updated.' + '\n'
            message += ', '.join("%s=%r" % (key,val) for (key,val) in form.errors.iteritems()) + '\n' 
            # message += ', '.join("%s=%r" % (key,val) for (key,val) in form.non_field_errors.iteritems()) + '\n' 
            return render(request, 'limboHtml/ServerConfiguration.html', {'form': form, 'SubmitMessage': message, 'CurrentConfigs': myConfigs})
    # if a GET (or any other method) we'll create a blank form
    try:
        del request.session['integer']
    except KeyError:
        pass
    form = serverForm()
    return render(request, 'limboHtml/ServerConfiguration.html', {'form': form, 'SubmitMessage': '', 'CurrentConfigs': myConfigs})
错误消息:

文件 “/home/ec2 user/limbo/limboenv/local/lib/python2.7/site packages/django/db/backends/utils.py”, 第64行,在execute中 返回self.cursor.execute(sql,params)编程错误:关系“limbo_serverconfig”不存在第1行:…ig_键“, “limbo_服务器配置”“limbo_服务器”中的“配置值”

为什么它会在桌子的开头加上“limbo_uu”?我能改变这个吗?我是否应该在表格中使用我的应用程序名(或者是我的项目名?它们被称为同一个名称…愚蠢的投票教程)


Django 1.10和python 2.7在ec2上的linux ami上为每个模型创建一个表。表的默认名称为
app\u name+'\u'+model\u name
。如果不想将其作为表名,可以通过在模型的元类中指定
db_table
来覆盖它

参考:

建议


请不要使用与项目同名的应用程序来编写应用程序逻辑。该应用程序应始终只包含项目设置

Django为您的每个模型创建一个表。表的默认名称为
app\u name+'\u'+model\u name
。如果不想将其作为表名,可以通过在模型的元类中指定
db_table
来覆盖它

参考:

建议


请不要使用与项目同名的应用程序来编写应用程序逻辑。该应用程序应该始终只包含在另一个地方出现的项目设置,因为我试图弄清楚这一点,但在sql workbench中没有证据表明存在这样的表。我是否应该首先按照limbo_server_配置创建表?@Keith第一次设置django项目时,应该创建数据库,并为django=1.9运行
python manage.py syncdb
。此命令创建所有必需的db表。在运行之前,请确保首先执行
python manage.py makemigrations
(limboenv)[ec2]-user@ip-172-31-XX-XXX limboproj]$python limbo/manage.py要执行的迁移操作:应用所有迁移:admin、auth、contenttypes、,运行迁移的会话:没有要应用的迁移。@Keith您做过makemigrations吗?是:
$python limbo/manage.py makemigrations未检测到任何更改(limboenv)[ec2]-user@ip-172-XX-XX-XXX limboproj]$python limbo/manage.py要执行的迁移操作:应用所有迁移:admin、auth、contenttypes、,运行迁移的会话:没有要应用的迁移。
在我试图弄清楚这一点时,在另一个地方出现了这种情况,但在sql workbench中没有证据表明存在这样的表。我是否应该首先按照limbo_server_配置创建表?@Keith第一次设置django项目时,应该创建数据库,并为django=1.9运行
python manage.py syncdb
。此命令创建所有必需的db表。在运行之前,请确保首先执行
python manage.py makemigrations
(limboenv)[ec2]-user@ip-172-31-XX-XXX limboproj]$python limbo/manage.py要执行的迁移操作:应用所有迁移:admin、auth、contenttypes、,运行迁移的会话:没有要应用的迁移。@Keith您做过makemigrations吗?是:
$python limbo/manage.py makemigrations未检测到任何更改(limboenv)[ec2]-user@ip-172-XX-XX-XXX limboproj]$python limbo/manage.py要执行的迁移操作:应用所有迁移:admin、auth、contenttypes、,运行迁移的会话:没有要应用的迁移。