我的ec2免费套餐上有一个postgresql RDS实例和我的ec2实例。我本应该使用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行,执行中 return self.cursor.execute(sql,params)ProgrammingError:关系“limbo_serverconfig”不存在第1行:... ig_key“, “limbo_serverconfig”。“config_value”FROM“limbo_ser ...
为什么它会在表格的开头追加limbo_?我可以改变这种方式吗?我应该在表格中使用我的应用名称(或者是我的项目名称?它们被称为同样的东西......愚蠢的民意调查教程)?
关于ec2上的linux ami的Django 1.10和python 2.7
答案 0 :(得分:2)
Django为每个模型创建一个表。表的默认名称为app_name + '_' + model_name
。如果您不希望它成为表格的名称,您可以通过在模型的Meta类中指定db_table
来覆盖它。
参考:https://docs.djangoproject.com/en/1.10/ref/models/options/#db-table
<强>建议强>
请不要使用与项目名称相同的应用程序来编写应用程序逻辑。该应用程序应始终只包含项目设置