次のようなモデルを作成するとします。
def model_factory(*args, **kwargs):
attrs = {}
attrs['Meta'] = type('Meta', (object,), {
'verbose_name': 'My Dynamic model',
'db_table': 'dynamic_model_table'
})
# Ex. add an arbitrary fields
attrs['username'] = models.CharField(
max_length = 128,
db_column = 'username'
)
attrs['email'] = models.CharField(
max_length = 128,
db_column = 'email'
)
return type('DynamicModel', (models.Model,), attrs)
データベースで列の順序を指定するにはどうすればよいですか? つまり、CREATE ステートメントは
CREATE TABLE "dynamic_model_table" (
"username" varchar(128) NOT NULL,
"email" varchar(128) NOT NULL
)
ただし、コード例を使用すると、列の順序はランダムになります。