django删除数据库数据
1. 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>
大约就是这样子。可能说的太粗。你对着教程看就知道了。
2. django中怎么动态操作数据库字段
django的ORM系统不支持修改删除字段的操作,也就是说你在写模型model文件的时候,比如说定义了这个user表,然后包含字段telphone定义,你一旦执行了manage.py syncdb 这个操作,就把表结构往数据库写死了,如果你之是删除了model文件的telphone,数据库是不被重新修改的。这个时候必须用原生sql解决,也就是说自己写SQL语句让django执行,这样的话会出很多问题,也就是说你执行了alter table users drop column telphone之后,你的model文件不知道你已经对users表结构做了修改,这样会出直接导致django应用的崩溃。所以动态字段不好做。也可能是我才疏学浅,没太理解,也许有高人能做到。不过面对ORM这样的尽量别删除字段。
3. django数据库查询操作
1.get(**kwargs)
解释:返回与筛选条件相匹配的Model对象,返回结果有且只有一个。
说明:如果符合条件的对象多于一个抛出MultipleObjectsReturned异常,如果没有找到抛出DoesNotExist异常
语法:ModelName.objects.get(itemName=itemNameValue)
例子:Author.objects.get(id=1)
4. django 用的mysql数据库,删除数据时索引也就随之删除了,索引就不规律了,如和能让删除数据时索引不变
这个id依然是规律的。
比如你原来有1、2、3、4、5、6、7、8、9个id号码,结果删掉了3和7这两个id。接下来你新建的id会依然自动的从10开始,而不是你想象中认为的将3和7补齐。这是Django的默认规则。除非你手动指定id,前提是不产生冲突。
一般情况,不要去人为控制id这个自动字段,而是自己设计一个专门的字段做这方面的考虑,进行排序、过滤、索引等等方面的工作。
安利一个Django学习网站Django权威教程
5. django admin自定义admin显示样式后 无法修改或添加数据库,能查询和删除数据库
django admin自定义admin显示样式后
6. Django数据库表删除了,怎么重新生成
请确认只删除了表,没有删除scheme
1.8或以上版本,按顺序使用
python manage.py makemigrations
python manage.py migrate
其他版本使用
python manage.py syncdb
7. 使用Django常见了一个app,并连上了一个数据库,对这个数据库进行增删改查的代码应该编写在哪个文件中
一般写在模型中,也就是models
如果你要使用django自带的orm,那么需要去读一读django模型方面的资料
这里举个简单的例子:
classUser(models.Model):
username=models.CharField(verbose_name='用户名',max_length=20)
password=models.CharField(verbose_name='密码',max_length=20)
def__unicode__(self):
returnself.username
这里定义的User类,在建模完成后,在数据库中对应就是app_User表,如果需要查询,那么
User.objects.filter(all) #所有行
更新:
p = User.objects.get('username='name'')
p = 'name1'
p.save()
删除:
User.objects.get('username='name'').delete()
如果不用自带的ORM,那么用mysqldb模块来处理,这个没有什么可说的,使用标准sql语句即可
8. Django数据库怎么增加数据
修改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同步模型中的数据库
创建成功!
9. django修改了model会自动修改数据库吗
目前到django1.7 为止
修改model的前提是:你已经创建完model,并且已经 使用 syncdb 或 migrate 创建了相应的数据库表。
然后再 修改model,不会对数据库表产生任何修改的。
具体的东西,自己去看 Django 相应版本的文档去吧
不同版本,不太一样。