单表操作
from django.test import TestCase
# Create your tests here.
import os
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django01.settings")
import django
django.setup()
from app01 import models
增加数据
# 增加数据
res = models.User.objects.create(name='junjie',age=18,register_time='2004-1-1')
import datetime
ctime = datetime.datetime.now()
user_obj = models.User(name='tom', age=99, register_time=ctime)
user_obj.save()
删除数据
# 删除数据
res = models.User.objects.filter(pk=1).delete()
print(res) # (1, {'app01.User': 1}) # 如果主键为11的字段为空不会报错
user_obj = models.User.objects.filter(pk=1).first()
user_obj.delete() # 如果主键为11的字段为空会报错
"""
pk会自动查找到当前表的主键字段,指代当前表的主键字段
使用pk指定后,无需直到当前表的主键字段字段名
"""
修改数据
# 修改
models.User.objects.filter(pk=13).update(name='junjieDSB')
user_obj = models.User.objects.get(pk=13)
user_obj.name = 'junjie666'
user_obj.save()
"""
get方法返回的直接就是当前数据对象
但是该方法不推荐使用
一旦数据不存在该方法会直接波按错,而filter则不会,所以推荐filter.
"""