首页>>后端>>Python->django如何修改表结构

django如何修改表结构

时间:2023-12-05 本站 点击:0

导读:本篇文章首席CTO笔记来给大家介绍有关django如何修改表结构的相关内容,希望对大家有所帮助,一起来看看吧。

本文目录一览:

1、Django 默认 user 表的替换和扩充2、Django如何更新数据库3、Django里面怎么实现数据库视图啊 就是虚拟表4、python Django创建mysql数据库表结构报错5、django中怎么动态操作数据库字段?

Django 默认 user 表的替换和扩充

可以重新指定 username 字段 USERNAME_FIELD

可以重新指定 email 的字段 EMAIL_FIELD

还有命令行在 createsuperuser 创建超级用户时提醒要输入信息的字段 REQUIRED_FIELDS

配置完成后是无法启动成功的,因为缺少 django user 类的一些默认方法需要继承 AbstractBaseUser 类

不想创建 django auth 的表可以删除 django setting.py INSTALLED_APPS 中 django.contrib.auth 。

但是还要删除 MIDDLEWARE 中关于身份验证的 django.contrib.auth.middleware.AuthenticationMiddleware 中间件。

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 licols.field1/li

大约就是这样子。可能说的太粗。你对着教程看就知道了。

Django里面怎么实现数据库视图啊 就是虚拟表

正经回答:先在数据库中建立好视图,然后django中建立对应的model。表所对应的类下面再建立一个Meta类,大致如下

class ViewModel(models.Model):

    """这个model类对应你所建立好的视图"""

    class Meta(object):

        """同理,该方法可用于使用mysql中任何已有的表,不仅是视图"""

        db_table = 'your_view' #显式指定表名,也就是你建立的视图的名字

        managed = false #默认是ture,设成false django将不会执行建表和删表操作

    # 建立字段间的映射

    #  需要注意的是,必须设一个字段为主键

    #  不然django会自动创建一个id字段为主键,引发错误

百度知道越来越辣鸡了,全是答非所问的。

python Django创建mysql数据库表结构报错

1.

建立一个project

2.

创建第一个页面

3.

创建一个app

4.

然后给app增加一个页面

4.1

在setting里面配置:

在my_project的url中添加

在app1的urls中添加

创建views

然后

就可以通过127.0.0.1:8000 访问了

5.

配置数据库

在setting中修改database信息

check看是否连接上数据库

在我的workbench中可以看到生成了默认的table

接下来我们自己建立model (需要继承models.Model)

运行命令

然后再运行

可以发现table创建完毕

接下来对数据库进行操作

我先在mysql中插入2条数据

查看发现数据已经成功插入

然后我们

修改model让其返回name,修改views让其在页面上显示返回的结果

运行之后可以看到结果

---------------------

django中怎么动态操作数据库字段?

django的ORM系统不支持修改删除字段的操作,也就是说你在写模型model文件的时候,比如说定义了这个user表,然后包含字段telphone定义,你一旦执行了manage.py syncdb 这个操作,就把表结构往数据库写死了,如果你之是删除了model文件的telphone,数据库是不被重新修改的。这个时候必须用原生SQL解决,也就是说自己写SQL语句让django执行,这样的话会出很多问题,也就是说你执行了alter table users drop column telphone之后,你的model文件不知道你已经对users表结构做了修改,这样会出直接导致django应用的崩溃。所以动态字段不好做。也可能是我才疏学浅,没太理解,也许有高人能做到。不过面对ORM这样的尽量别删除字段。

结语:以上就是首席CTO笔记为大家整理的关于django如何修改表结构的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/12270.html