Python学习笔记(六)

本文介绍了如何在Python中操作数据库,包括模型继承、验证模型有效性、获取数据库数据记录及解决相关问题的方法。同时,讨论了Python版本冲突及MySQLdb模块安装与使用的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、模型的继承
-两个模型之间除了外键以及其他关系之外,还可以从另一个模型继承来定义模型。

class Book(models.Model):
   Attr1
Attr2
Attr3

class SubBook(Book):
   Attr1 = models.ManyToManyField()


2.用下面的命令来验证model的有效性:python manage.py validate


3、执行python manage.py sqlall appname 产生App 'appname' has migrated error
-删除migrations目录,可行
-或者执行manage.py migrate 

4、获取数据库数据的记录:
-import MySQLdb
db = MySQLdb.connect('127.0.0.1','root','82326708','lab')
    cur = db.cursor()
cur.execute('select * from labpage_member')
    results = cur.fetchall()
    for row in results:
      id = row[0]
      name = row[1]
      pwd = row[2]
      print id
 
-直接调用模块中的类来操作数据库报错:
from labpage.models import Member
Member.objects.get(id=1) #error 一大堆
#have no idea

5、之前安装了python 2.7.9,然后又安装了python3.5两个版本的python都放在相同的目录下,(手动将一个版本删除之后,再装的另一个)
结果系统中仍显示2.7.9版本,python命令行可以使用,但是py文件不能识别,一个简单的输出字符例子中都显示'print'有错误
是版本冲突的问题:
-先将3.5修复了一下,然后发现360软件卸载中2.7.9版本可以卸载
-卸载完成后,还是识别不了py文件(python命令行一直可以运行.py)
-此时,3.5也可以卸载了,之前不能卸载,报A Problem has...问题,卸载了3.5
-将2.7.9再一次安装后,系统正常显示.py 文件

6、对于import MySQLdb引入时,报No Module named ...问题,首先注意MySQLdb的拼写,然后MySQL是需要手动进行安装的!
-无错误后,可以在python命令行中进行数据库的操作

7、在报settings not configuration时候,可以在程序中引入settings模块,然后settings。configure()进行配置
-settings中DATABASE字段是对数据库的设置,注意格式和内容
-NAME:是数据库的名字;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值