python Django 生成sql语句

不能执行。。
2025-04-29 11:13:28
推荐回答(4个)
回答1:

Django提供了sql,sql_all命令来生成MODEL的SQL语句,当定义好Django Model后,可以在初始化调用Syncdb方法来自动在数据库里面生成相应的表。

Model定义如下:

class TestModel(models.Model):
Name=models.CharField(max_length=64,blank=True)
>>> from django.core.management.color import no_style   
#Style是用来输出语句时着色的
>>> from django.db import connection
>>> from django.db.backends import creation
#这里面有个类BaseDatabaseCreation,就是用来生成SQL语句的。
>>> T=TestModel()
>>> c=creation.BaseDatabaseCreation(connection)
>>>c.sql_create_model(T,no_style())[0]
['CREATE TABLE "abc" (\n    "id" integer NOT NULL PRIMARY KEY,\n    "Theme" varchar(64) NOT NULL\n)\n;']

这样就可以通过Django取得这个模型的SQL定义语句了,并且针对不同的数据库处理Django已经帮做好了。

回答2:

我来回答你吧。。
1)在models.py 里面定义好模型
2)在settings.py文件里面,设置DATABASES = {}
如果想连接Mysql又没有装Mysql驱动,是连不上的,

回答3:

你好,你的问题太简短了,
可否描述一下问题和遇到的困难。

回答4:

没安装mysql 会导致manage.py sqlall 不能执行吗?