【发布时间】:2012-07-29 00:02:49
【问题描述】:
感谢令人惊叹的应用 South 提供的精美文档,我成功地使用以下代码重命名了模型:
def forwards(self, orm):
db.rename_table('myapp_a_model', 'myapp_another_model')
def backwards(self, orm):
db.rename_table('myapp_another_model','myapp_a_model')
但是,模型的真实名称包含大写字母,即myapp_A_Model,我想将myapp_A_Model重命名为myapp_Another_Model。大写字母对我很重要。挑战在于下面的代码:
db.rename_table('myapp_A_Model', 'myapp_Another_Model')
不起作用。如何将模型重命名为带有大写字母的模型?
【问题讨论】:
-
我认为可能是数据库问题。您使用的是哪个数据库? PostgreSQL? MySQL?无论如何,如果您说为什么需要区分大小写的数据库表名,那就太好了,因为如果没有,那似乎只是一时兴起……
-
我认为大写词是 Django 命名约定的一部分? python.org/dev/peps/pep-0008/#class-names -- 我正在使用 PostGres
-
CapWords 用于类名。但是您正在处理表名,对吗?文档 (docs.djangoproject.com/en/dev/ref/databases/#table-names) 说:“如果可能,建议您使用小写表名 [...]。Django 在从模型自动生成表名时使用小写表名”
-
很高兴知道!叹息,我应该早点阅读这些文档。干杯!但是我认为没有办法完成上述工作?
标签: django django-models django-south