首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何更改Django中的模型?

如何更改Django中的模型?
EN

Stack Overflow用户
提问于 2011-07-02 10:03:44
回答 2查看 250关注 0票数 1

Django如何处理对我的模型的更改?或者,这样做对我有什么帮助?

我正在考虑这样一种情况,即我已经将数据发布到我的DB中,但我不想丢失这些数据,但我需要对数据模型进行更改--例如,向特定的类添加额外的字段,更改字段的类型等等。我的理解是,syncdb永远不会修改数据库中已经存在的表。

例如,假设我有以下模型:

代码语言:javascript
运行
AI代码解释
复制
class Person(models.Model):
    name = models.CharField(max_length=200)
    phone_number=models.CharField(max_length=200)
    hair_colour=CharField(max_length=50)

我可能想对我头顶上的人做些什么:

  1. 我想添加一个“年龄”字段。
  2. 我意识到我想用IntegerField而不是CharField来代替phone_number (不管这是不是个好主意,都超出了范围.)--假设这是可能的。
  3. 我意识到,我不再希望在个人内部定义hair_colour 'inline‘,因为有几个人有着相同的头发颜色--相反,我希望把它改成其他型号的外键。

虽然我可以想象,如果我所做的只是更新models.py,框架很难/不可能对我的数据“猜测”到底需要做什么,但我可以想象仍然有一些工具可以帮助启用它--它存在吗?

特别是,我认为选项1必须有一些好的模式。

我对Django非常陌生,没有任何其他ORM类型的经验,我认为这是--我一直对ORMs有点怀疑,主要原因如下:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-02 10:54:59

Django本身不会尝试修改已经创建的数据库表。您要做的通常被称为“迁移”,而Django有几种不同的数据库迁移工具可供使用。

  • 模式迁移
  • 数据移动
  • 向后移动

纳什韦加斯

  • 模式迁移
  • 数据移动

Django演化

  • 模式迁移
  • 数据移动(未知)
  • 向后移动(未知)

在这三个国家中,南方可能是使用最广泛的,但它们各自有不同的处理移徙问题的方法。您可以看到关于Django包比较的更多细节。

票数 3
EN

Stack Overflow用户

发布于 2011-07-02 10:21:27

您所询问的大部分内容都可以通过django项目来完成。您可以将其添加为INSTALLED_APP。创建一个基线,然后当您的模型更改时,它会创建SQL语句,将表中的表和行转换为新的模型格式。

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

https://stackoverflow.com/questions/6558701

复制
相关文章
Python+Selenium 技巧篇-svg标签内元素的xpath定位方式
这种元素比较特殊,需要通过 name 属性来进行定位。 写法如下: //*[name()="svg"]//*[name()="image"]
小蓝枣
2020/09/23
2K0
SVG与foreignObject元素
可缩放矢量图形Scalable Vector Graphics - SVG基于XML标记语言,用于描述二维的矢量图形。作为一个基于文本的开放网络标准,SVG能够优雅而简洁地渲染不同大小的图形,并和CSS、DOM、JavaScript等其他网络标准无缝衔接。SVG图像及其相关行为被定义于XML文本文件之中,这意味着可以对其进行搜索、索引、编写脚本以及压缩,此外这也意味着可以使用任何文本编辑器和绘图软件来创建和编辑SVG。
WindRunnerMax
2023/08/13
5720
带你了解SVG标签
✍️ 作者简介: 前端新手学习中。 💂 作者主页: 在主页中查看更多前端教学,可接大学生前端作业单。 🎓 专栏分享:css重难点教学 Node.js教学 从头开始学习 ajax学习 js学习 目录 初始SVG 矩形,圆形和椭圆型  矩形  圆形  椭圆形 绘制线条 多边形 连续线条  线条  多边形  连续线条 绘制文本 绘制路径 阴影和模糊 初始SVG SVG是一种图形文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。它是基于XML(Ext
坚毅的小解同志的前端社区
2023/01/13
2.1K0
带你了解SVG标签
列表元素分组
有这样一种场景,有三个列表a、b、c。我们想要把每一个列表中的第一个元素取出来分为一组,第二元素取出来分为一组、第三个元素取出来分为一组,以此类推。该怎么做呢?你可以自己想一想,再来看下面的实现过程。
TalkPython
2019/05/24
1.1K0
html元素(标签)
html元素(标签) <!DOCTYPE html> <html> <head> <!-- 头标签用于存放<meta><title>等标签 --> <meta charset="utf-8"> <!-- 设置编码 --> <title>html5</title> <!-- 设置标题 --> <link rel="stylesheet" type="text/css" href="mystyle.css"><!-- 定义了外部文件 --> <style type="t
IT架构圈
2018/05/31
1.9K0
根据分组依据对Java集合元素进行分组
业务背景:在项目中有个“分账”功能,就是支付的钱一部分要根据不同商品的分账金额自动分给平台提供商。
张张
2019/12/25
2.5K0
Chrome XSS审计之SVG标签绕过
在一年前,在我的私人Twitter账户 brutal secret ,我分享了一个有趣的方法来通过审计绕过chrome 的xss过滤器。我们将从黑盒测试的角度来观察,一个逻辑假设和结论, 导致我们的 XSS 向量绕过了xss过滤器。 我们从已知的所有 XHTML 解析器 (浏览器) 的麻烦开始: Scalable_Vector_Graphics(svg):如果你不知道svg可以干什么,点击这里深入了解信息 (点击阅读原文查看链接) 我们需要知道的是, SVG 标记比简单的 XML/HTML 更复杂, 并且
FB客服
2018/02/27
2.5K0
Chrome XSS审计之SVG标签绕过
PHP 命名空间元素访问及use的使用
使用 as 时空间元素名称则被新名称取代, 原名称不能用了, 故不能称之为起别名, 应该是起新名
很酷的站长
2023/01/05
1.3K0
PHP 命名空间元素访问及use的使用
评价打分组件,SVG 半颗星的解决方案!
对于一个内容服务的网站来说评价打分也是很重要的一部分,它有利于分析用户对我们的内容的喜好程序。最近,我们团需要为一个项目实现一个星级评价的组件,需求如下:
前端小智@大迁世界
2022/06/15
7120
评价打分组件,SVG 半颗星的解决方案!
python分组聚合_python爬虫标签
由于某些原因,回归和分类问题总会引起机器学习领域的大部分关注。多标签分类在数据科学中是一个比较令人头疼的问题。在这篇文章中,我将给你一个直观的解释,说明什么是多标签分类,以及如何解决这个问题。
全栈程序员站长
2022/11/17
5760
python分组聚合_python爬虫标签
更好的理解 Script 标签元素
我们在 《Javascript简史》这遍文章中说过,「Javascript」这门语言是由 Netscape开发而来,当初开发的时候为了能让 「Javascript」这门语言能与 HTML 页面共存,而且不影响页面的其他内容,为此增加了一个统一的脚本支持( script 脚本元素)。
六小登登
2018/09/15
9870
Python 列表元素分组,比如 [1,
# 生成一个1到20的列表 a=[x for x in range(1,21)] # 把a列表切片,并赋值给b列表,x为0到20且步长为3的列表,在这里具体为[0,3,6,9,12,15,18] # 把x带入,b列表为[a[0:0+3],a[3:3+3]……[a[18:18+3] b=[a[x:x+3] for x in range(0,20,3)] print(a) print(b) 输出为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1
py3study
2020/01/19
1.1K0
【译】使用标签实现图像加载的分组管理
在上一篇博客中,你已经了解了如何为特定的图像请求分配优先级。因为你可能在同一时刻取消,暂停或者恢复多个图像请求,因此之前的那些技巧或许不能完全满足你的要求。如果你的视图变化很快,那么对于取消较早的图像加载,已经离开屏幕的,以及为新的视图开启图像加载来说是非常有用的。幸运的是,Picasso提供了.tag()函数,用来实现这些需求。
小鄧子
2018/08/20
1.1K0
JavaScript——操作标签元素属性
1. 属性的操作 首先获取的页面标签元素,然后就可以对页面标签元素的属性进行操作,属性的操作包括: 属性的读取 属性的设置 属性名在js中的写法 html的属性和js里面属性大多数写法一样,但是“class” 属性写成 “className” “style” 属性里面的属性,有横杠的改成驼峰式,比如:“font-size”,改成”style.fontSize” <style> .sty01{ font-size:20px; color:red; } .
落雨
2022/04/14
30.3K0
tips-解决base标签造成SVG效果失效
之前写了使用SVG实现一个骚气的圆环: 一个比想象中更骚气的圆-svg实现。后来上线过程中发现渐变的效果出不来,原来是html base标签和内联SVG同时使用引起的一个坑,略偏,记录一下。 base标签 base 标签为页面上的所有链接规定默认地址或默认目标。通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。使用base标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。 一个经常用到的场景是:页面在一
Bob.Chen
2018/05/02
1.1K0
【CSS】标签显示模式 ② ( 行内元素 | 行内块元素 )
为 span 标签设置的 宽高 都是无效的 , 设置的 200 x 200 像素的宽高 , 显然没有成功 , 行内元素的宽高只取决于 元素 本身的宽高 ;
韩曙亮
2023/03/30
1.6K0
【CSS】标签显示模式 ② ( 行内元素 | 行内块元素 )
一篇文章带你了解SVG <use> 元素
SVG <use>元素可以重用SVG文档中其他位置(包括 <g>元素和 <symbol>元素)的SVG形状。可以在 <defs>元素内部(使形状直到使用之前不可见)或外部定义重用形状。
前端进阶者
2021/01/22
3.9K0
一篇文章带你了解SVG <tspan>元素
SVG <tspan>元素用于在SVG中绘制多行文本。不必绝对定位每行文本,该 <tspan>元素使相对于前一行文本放置一行文本成为可能。该 <tspan>元素还使用户可以一次选择并复制粘贴几行文本,而不仅仅是一个text元素。
前端进阶者
2021/01/22
2.2K0
伪元素的妙用–单标签之美
在介绍具体用法之前,简单介绍下伪类和伪元素。伪类大家听的多了,伪元素可能听到的不是那么频繁,其实 CSS 对这两个是有区分的。
青梅煮码
2023/03/02
8110
伪元素的妙用–单标签之美
SVG - 基本的SVG属性
SVG - 基本的SVG属性 HTML5学堂:在前一篇文章当中,我们讲解了SVG的基本知识,并且为大家介绍了如何在html文件当中书写SVG代码。今天我们具体讲解SVG的基本属性,如何使用SVG完成线、圆等图形的绘制。 line - 直线 拥有四中基本属性 x1 属性在 x 轴定义线条的开始 y1 属性在 y 轴定义线条的开始 x2 属性在 x 轴定义线条的结束 y2 属性在 y 轴定义线条的结束 demo <line x1 = "20" y1 = "20" x2 = "200" y2 = "180" st
HTML5学堂
2018/03/12
4.1K0

相似问题

jquery自动完成和jquery验证

10

jQuery自动完成验证

30

Jquery自动完成验证器

10

正在验证jquery自动完成

10

自动完成的JQUERY验证

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文