首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django ORM是否定义了从给定表的指定列下的每一行生成表的构造?

Django ORM是否定义了从给定表的指定列下的每一行生成表的构造?
EN

Stack Overflow用户
提问于 2012-11-10 22:54:34
回答 2查看 59关注 0票数 1

Django ORM是否定义了从给定表的指定列下的每一行生成表的构造?

例如:假设我们有下面的表格。

代码语言:javascript
复制
Table: Person
id|name  |age
-------------
1 |John  |60      
2 |Isaac |24    
3 |Fred  |50      
4 |Will  |35  

现在我需要一个对象,它从Personname下的每一行创建一个表。对于JohnIsaac条目,这将得到:

代码语言:javascript
复制
Table: John
id|name  |age_diff
------------------
1 |Isaac |36
2 |Fred  |10
3 |Will  |25

Table: Isaac
id|name  |age_diff
-------------------
1 |John  |36
2 |Fred  |26
3 |Will  |11
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-10 23:37:25

没有。在库存中,django表是由“syncdb”命令创建的,它的ORM不处理表的动态添加或修改。

票数 2
EN

Stack Overflow用户

发布于 2012-11-11 00:02:56

据我所知,Django的ORM不能为您创建表。您可以通过原始SQL语句做到这一点:

代码语言:javascript
复制
from django.db import connection, transaction
name = 'John'
cursor = connection.cursor()
cursor.execute('CREATE TABLE '+name+'(id int NOT NULL AUTO_INCREMENT,\
                name VARCHAR(30) NOT NULL, age_diff int NOT NULL,\
                PRIMARY KEY(id))')
transaction.commit_unless_managed()

但那是相当丑陋的。我认为至少在您的示例中,创建这些额外的表是没有意义的。这似乎是对存储空间的巨大浪费,却没有任何收益。您也可以在需要的时候在Python代码中创建年龄差异。这也会更直观。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13323089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档