Djang ORM操作数据库之单表操作(增删改查)

单表操作

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.
    """
posted @ 2022-03-03 17:03  谢俊杰  阅读(32)  评论(0编辑  收藏  举报