Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用django在db中添加新字段_Python_Django_Django Admin - Fatal编程技术网

Python 使用django在db中添加新字段

Python 使用django在db中添加新字段,python,django,django-admin,Python,Django,Django Admin,我想让用户添加新字段。 如何从用户或管理界面在数据库中添加新字段(使用South除外)?演示如何运行原始sql。因此,如果您以具有正确权限的用户身份连接到数据库,则可以运行altertable语句 然而,你真的必须正确地清理你的输入,否则你也可以把根密码放在你网站的首页上 所有这些都表明。。。几乎可以肯定有更好的方法来解决你的问题。您应该更详细地描述您正在尝试做什么。从用户动态添加新字段看起来很糟糕。只需使用代表字段的行创建表,然后添加新行即可。我必须使用using接口添加新列。请尝试解释为什么

我想让用户添加新字段。
如何从用户或管理界面在数据库中添加新字段(使用South除外)?

演示如何运行原始sql。因此,如果您以具有正确权限的用户身份连接到数据库,则可以运行
altertable
语句

然而,你真的必须正确地清理你的输入,否则你也可以把根密码放在你网站的首页上


所有这些都表明。。。几乎可以肯定有更好的方法来解决你的问题。您应该更详细地描述您正在尝试做什么。

从用户动态添加新字段看起来很糟糕。只需使用代表字段的行创建表,然后添加新行即可。我必须使用using接口添加新列。请尝试解释为什么需要此行为,因为对我来说,这没有什么意义。对于您的问题,可能有一个更合适的解决方案。在web2py中,您可以从管理员中编辑代码,web2py的设计目的是在更改模型时更改表。但是syncdb并不是为此而设计的:在model.py中更改与DB不匹配的代码,您将得到500分。假设我们实现了一个完美的代码来运行“ALTER TABLE”,而没有任何风险。Django模型仍然无法读取创建的新列,因此我们还希望自动编辑models.py以公开DB。然后重新启动Web服务器以应用代码更改。发生错误时,我们还需要一些DB版本的跟踪,可能每个应用程序中都有一个名为“migrations”的子目录,以及一个描述每个更改的文件。稍后,您可能需要一个工具来还原ALTER。你最终发明了南方,但最糟糕的是,我也不认为这是个好主意。也就是说,OP没有说他需要通过ORM访问新的专栏。所以他得到了一个答案,但我希望他能解释他想做什么,这样才能给出更好的答案。