model操作方法
import os
import django
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
django.setup()
from django.http import JsonResponse
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
def one_to_one_add():
"""
添加一种颜色黑,并添加黑球
:param request:
:return:
"""
color_obj = Colors.objects.create(colors=u"黑")
print (Ball.objects.create(color=color_obj, description=u"黑球"))
def one_to_one_search():
"""
查到黑球对应的颜色
:param request:
:return:
"""
print Colors.objects.get(ball__description=u'黑球').colors
def one_to_one_update():
"""
把黑球的颜色黑改为白
:param request:
:return:
"""
print Colors.objects.filter(ball__description=u'黑球').update(colors=u"白")
def one_to_one_delete():
"""
删除颜色为白的球
:param request:
:return:
"""
print Colors.objects.filter(colors=u"白").delete()
def one_to_many_add():
"""
添加颜色为黑的衣服---优衣库
:param request:
:return:
"""
color_obj = Colors.objects.create(colors=u"黑")
print (Clothes.objects.create(description=u"优衣库", color=color_obj))
def one_to_many_search():
"""
查询所有颜色为黑的衣服
:param request:
:return:
"""
print Clothes.objects.filter(color__colors=u'黑')
def one_to_many_update():
"""
所有颜色为黑的衣服,描述都改为"森马"
:param request:
:return:
"""
print Clothes.objects.filter(color__colors=u'黑').update(description=u'森马')
def one_to_many_delete():
"""
删除颜色为黑的衣服
:param request:
:return:
"""
print Clothes.objects.filter(color__colors=u'黑').delete()
def many_to_many_add():
"""
添加颜色为蓝、白、红、紫
并添加孩子"小明"喜欢所有的颜色
:param request:
:return:
"""
colors = ["蓝", "白", "红", "紫"]
color_obj = [Colors(colors=i) for i in colors]
Colors.objects.bulk_create(color_obj)
child_obj = Child.objects.create(name=u'小明')
color_obj = Colors.objects.all()
child_obj.favor.add(*color_obj)
def many_to_many_search():
"""
查找小明喜欢哪些颜色
查找有哪些人喜欢白
:param request:
:return:
"""
print Colors.objects.filter(child__name=u'小明')
print Child.objects.filter(favor__colors=u'白')
def many_to_many_update():
"""
让小明只喜欢 白和红
:param request:
:return:
"""
child_obj = Child.objects.get(name=u'小明')
color_obj = Colors.objects.filter(colors__in=["白", "红"])
child_obj.favor.clear()
child_obj.favor.add(*color_obj)
def many_to_many_relation():
""" 多对多的关联关系
让所有人不再喜欢白
让小明不喜欢任何颜色
:param request:
:return:
"""
colors_obj = Colors.objects.get(colors=u'白')
colors_obj.child_set.clear()
child_obj = Child.objects.get(name=u"小明")
child_obj.favor.clear()
def many_to_many_data():
"""
删除数据
喜欢蓝色的所有人都删掉
删除所有child
:return:
"""
child_obj = Child.objects.get(name=u'小明')
color_obj = Colors.objects.all()
child_obj.favor.add(*color_obj)
child_obj = Child.objects.create(name=u'小李')
color_obj = Colors.objects.get(colors=u'白')
child_obj.favor.add(color_obj)
colors_obj = Colors.objects.get(colors="蓝")
colors_obj.child_set.all().delete()
Child.objects.all().delete()
if __name__ == '__main__':
one_to_many_delete()