当前位置:首页 » 操作系统 » django更新数据库

django更新数据库

发布时间: 2023-04-12 04:40:25

❶ django1.5.4数据库,auto_now时间不能自动更新

由于django官方解释:

❷ django怎么使用本机mysql数据库

step 1:

修改你的django project目录下的settings.py 文件至如下所示:

其中,'NAME' 对应的 ‘db_name' 是你事先使用mysql
的命令行提示符创建的数据库名称。注意:在django使用数据库之前,你必须先创建出数据库,否则会报错。'USER'对应的'username'
还有 'PASSWORD' 对应的‘passwd'
就是你在mysql中创建的用户名和密码。如果你有多个的话,随便填一个就好。'HOST'和'PORT'默认都可以不填。

题外话: 使用用户名和密码登录mysql的方法:

首先,你需要进入 mysql/bin的目录下,也可以在.bash_profile中设置环境变量:

PATH=/usr/local/bin:/usr/bin:/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/Cellar/mysql/5.6.22/bin/

再在prompt输入 mysql -u username -p, 回车后再输入 passwd即可

step 2:

然后,在manage.py路径中使用python manage.py syncdb 试试,结果会提示你错误找不到 MySQLdb 这个mole, 为什么呢, 因为 python manage.py syncdb 命令是这样工作的:

1. 在project目录的settings.py的INSTALLED_APPS元组中找到可能需要更新的APP。

2. 找到每一个APP目录中的models.py (关系定义文件),并针对变化在数据库中进行更新。

说了这么多,前面那个错误 找不到 mole MySQLdb 是什么意思啊 ?

先给个图,再解释:

因为在models.py中定义关系使用的是python,而真正在数据库中操作形成model当然一定要用sql语句,所以必须要有一些功能模块
来把python语句转化成sql语句。如果你使用sqlite的话,由于sqlite和转化模块都已经由python内置了,所以直接使用不会发生错
误。但是 ”mysql语句的转化模块“ 就需要你手动加载了,这些模块放在 MySQL-python 中。

我是使用pip 安装的:

安装了之后,再使用 python manage.py syncdb就OK啦。

我使用的系统是 OS X,下面是 mysql 默认的安装路径

/usr/local/Cellar/mysql/5.6.22/

如果你想知道你的数据库文件是放在哪里的,你可以查看mysql_config文件中的ldata变量,这个变量的值就是 默认的数据库文件夹存储的路径。 我的系统中,mysql_config的完整路径是 :

/usr/local/Cellar/mysql/5.6.22/bin/mysql_config

❸ django修改了setting的数据库怎么同步

修改setting.py里面的DATABASES元组为
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'books', #你的数据库名称
'USER': 'root', #你的数据库用户名
'PASSWORD': '', #你的数据库密码
'HOST': '', #你的数据库主机,留空默认为localhost
'PORT': '3306', #你的数据库端口
}
}

INSTALLED_APPS = (
'books',#你的数据库名称
)

在mysql里面创建books数据库

检查配置是否有语法错误

使用python manage.py sqlall books 显示mysql语法

使用python manage.py syncdb同步模型中的数据库

7
创建成功!

❹ models.py中增加了字段,django中怎样更新

如果你是使用django1.7以上,那么自带migrations功能,可以在生成迁移文件后,打开0001_initial.py(类似这样的文件, 需要与你对应的app关联起来,就是models所在的路径下中的migrations文件夹),然后修改里面中models中对应的class model(),然后找到类似这个operations = [
migrations.CreateModel(...),
# mysql specific
migrations.RunSQL('纤族alter table 表名 auto_increment=9995'),#数据带颤库不同,语句可能不同
]

其实这个可以通过修改数据库中的表进行操作。这样比较快。自己多找点资毁行弊料吧。

❺ django中user扩展表中数据怎么更新

在models.py 中增加如下扩展user的类:
#==================扩展用户====================================
class UserProfile(models.Model):
user = models.OneToOneField(User)
major = models.TextField(default='', blank=True)
address = models.CharField(max_length=200,default='',blank=True)

def __unicode__(self):
return self.user.username

def create_user_profile(sender, instance, created, **kwargs):
"""Create the UserProfile when a new User is saved"""
if created:
profile = UserProfile()
profile.user = instance
profile.save()

#post_save.connect(create_user_profile, sender=User)
""" 不明白的是,我一定注释掉上面这一行,才不会出错,否则会有Duplicate entry '2' for key 'user_id'") ,看意思是,重复了,但不明白为什么重复,注释掉上面的之后,一切正常,但与官方文档又有差异了,迷惑中"""
#==================扩展用户结束================================12345678910111213141516171819

还需要修改admin.py
"""用户模块扩展"""
class ProfileInline(admin.StackedInline):
model = UserProfile
#fk_name = 'user'
max_num = 1
can_delete = False

class CustomUserAdmin(UserAdmin):
inlines = [ProfileInline,]

admin.site.unregister(User)
admin.site.register(User, CustomUserAdmin)
"""用户模块扩展"""12345678910111213

修改settings.py 的配置,增加
"""用户模块扩展部分"""
AUTH_PROFILE_MODULE = 'djangoadmin.myadmin.UserProfile'
"""用户模块扩展完成"""123

按照官方的解释,这里是app label加上扩展类的名字. 应该也就是创建的app的名字,官方推荐的方式就两个部分用”.”连接起来,我这里有三个部分,也没有报错。
然后运行 python manage.py syncdb ,这是会在数据库中创建响应的表,并且有user_id这个外键字段.
最后,我们来运行一下程序,并进入到增加用户旦拿界面中,你会发现,你扩展的字段都显示出来了
每次增加用户,都会在扩展的表中增加相应的渣察数据,修改的时候,也会修改响相应的数据,通过 user_id 来关模梁搭联,这样就完成了user model的扩展。
如果要获取扩展表中的内容,可以通过 request.user.get_profile().address 这种方式来获取. 得到 User对象后,就能很方便的得到扩展的类.

❻ Django如何更新数据库

最简单的办法是。为数据库的表建立一个model。具体做法是这样子。
1.在settings.py里设置数据库连接方式。连接错误后面都没有办法
2.在models设置一个数据库表的对应数据结构,通常叫关系对象模型,所以叫model,它就是一个类。你可以用django-admin.py ...probe,似乎是这个命令,就是一个数据库的探测命令,可以根据表,自动生成model的代码。当然如果你先写了model的代码就可以用syncdb命令生成数据库的表
3.在urls.py里设置一个URL的path,当浏览器访问这个path时就可以打开对应的view中的函数
4.在view里
4.1 result=modelclass.objects.all()这个命令可以取出所有的记录
4.2 然后你可以直接将结果传递给模板。由模板显示。这是最合理的办法

4.3 在模板里 {% for cols in result %}
4.4 <li>cols.field1</li>
大约就是这样子。可能说的太粗。你对着教程看就知道了。

❼ django更新模型的部分字段怎么做

  1. 在class里更新字段

  2. 运行python manage.py makemigrations记录迁移

  3. 运行Pythonmanage.py migrate 将更新实施到数据库表中

这个过程中可能会出现很多问题,比如已有的数据记录怎么更新,关联的对象怎么处理。详细可参考刘江的博客和教程:liujiangblog-com

❽ pycharm+django怎么同步数据库

pycharm+django怎么同步数据库
如果是同一种数据库的话,你同步的数据表结构是否相同,如果也相同的话,完全可以利用数据春消弯库的同步复制机制来解决;
(做主从) 如果表结构不相同的话,如果不在应用层处理的话,有两种方式参考:扒闷
1,A推数据给B;A有数据的时候,实时或非实时(采用event或trigger)将数据推到B中,B再做处理;
2,B从A拉数据,用一个event(mysql中的job)定时从A中拉数据然后进行处理;
另外可以选择在应用层来做,这个我就不桥扮多介绍了,根据业务逻辑coding就行了。

❾ django1.8更改了model后要怎样重建数据库

目前到django1.7 为止

修改model的前提是:你已经创建完model,没晌并且已经 使用 syncdb 或 migrate 创建了滑察慎相应的数据库表信敬。
然后再 修改model,不会对数据库表产生任何修改的。

具体的东西,自己去看 Django 相应版本的文档去吧

不同版本,不太一样。

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:336
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:378
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:612
java用什么软件写 发布:2025-05-18 03:56:19 浏览:32
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:944
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:740
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:803
网卡访问 发布:2025-05-18 03:35:04 浏览:511
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:371