我怎么能像执行什么样的smth
CREATE TABLE table_b AS SELECT * FROM table_a
使用Django db API?
答案 0 :(得分:3)
作为替代方案,您可以利用South,因为它具有用于创建和删除表的API。
http://south.aeracode.org/wiki/db.create_table
我没有在迁移环境之外尝试过这个,所以不能保证它可以开箱即用。
答案 1 :(得分:2)
Django的ORM不适合这样的事情。我建议你做错事,但你没有解释为什么要这样做,所以我不能发表评论。
反正。您可以使用Django的原始SQL:
def my_custom_sql():
from django.db import connection, transaction
cursor = connection.cursor()
# Data modifying operation - commit required
cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])
transaction.commit_unless_managed()
# Data retrieval operation - no commit required
cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])
row = cursor.fetchone()
return row
http://docs.djangoproject.com/en/dev/topics/db/sql/#executing-custom-sql-directly
答案 2 :(得分:1)
你做不到。你必须放到DB-API。