通过python在Django中创建数据库表(字段类型)

时间:2012-03-16 00:16:33

标签: python sql django

问题特别在于我可以使用python创建在Django数据库中找到的数据类型,是模型我有Django,有BigIntegerField,IntegerField和DecimalField但是我不能使用python制作相同类型的数据,我的想法是让我的python代码自动更新数据库,这里是代码:

Django模型

unidad = models.BigIntegerField(max_length=15)
pin = models.IntegerField(max_length=2)
fecha = models.DecimalField(max_digits=7,decimal_places=1)

Python执行

cursor.execute('''create table u_%(table_name)s stocks (id integer AUTO_INCREMENT NOT NULL PRIMARY KEY,id_unidad bigint NOT NULL, pin integer NOT NULL, fecha numeric(7, 1) NOT NULL)''' % dict(table_name = table_name))

当我运行“python manage.py sql gprs”时,这是Django的输出

BEGIN;
CREATE TABLE `evento` (
    `id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
    `unidad` bigint NOT NULL,
    `pin` integer NOT NULL,
    `fecha` numeric(7, 1) NOT NULL
)

1 个答案:

答案 0 :(得分:0)

你的问题有点令人困惑。要查看django在执行python manage.py syncdb之前用于创建模型的实际sql,可以使用python manage.py sql appname,如下所示: https://docs.djangoproject.com/en/dev/ref/django-admin/#sql-appname-appname