# 发布会表
class Event(models.Model):
name = models.CharField(max_length=100)
limit = models.IntegerField(default=100)
status = models.BooleanField(default=False)
address = models.CharField(max_length=200)
start_time = models.DateTimeField('events time')
create_time = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
1.进入数据库shell模式
python manage.py shell
2.查询表所有数据
tablename.objects.all()
3.插入数据
方式1: 先创建后保存
以Event表为例
首先我们需要导入model表
from sign.models import Event
其次我们创建表数据
from datetime import datetime
e1 = Event(id=2,name="测试发布会",limit=2000,status=True,address="测试地址",start_time=datetime(2019,11,20,0,45))
最后我们保存表信息
e1.save()
方式2:直接保存
tablename.objects.create()
还是以Event为例:
Event.objects.create(id=2,name="测试发布会",limit=2000,status=True,address="测试地址",start_time=datetime(2019,11,20,0,45))
4.查询数据
# 如果记录不存在报错:DoesNotExist
tablename.objects.get()
以Event为例:
Event.objects.get(name="测试发布会")
5.模糊查询
# 如果记录不存在返回空列表
tablename.objects.filter()
以Event为例:
Event.objects.filter(name="测试发布会")
6.删除数据
先查询后删除
e2 = Event.objects.get(name="测试发布会") #需要完全匹配
e2.delete()
7.更新数据
方式1:先查询后更新
e3 = Event.objects.get(name="测试发布会")
e3.name="测试发布会2"
e3.save()
方式3:直接更新
tablename.objects.select_for_update().filter(属性=).update(属性=)
以Event为例:
Event.objects.select_for_update().filter(name="测试发布会").update(name="测试发布会2")