本节课要删除用户了。
前提是 用户要先被搜索出来才行。
就是点击这个按钮:
首先,给这个删除按钮 弄个@click
然后在下面写出这个del_user函数:
那么问题来了,这个函数要怎么实现?
答:
先拿到用户id,然后发请求给后台即可。
那么用户id在哪呢?
答:
在变量userInfo中
所以函数写成下图即可:
然后去django的urls.py中写好:
然后去写好这个del_user函数:
经过测试后,成功删除了。
不过有的同学就要问了,是不是忘记删除want择偶标准表的数据了?
其实不是忘了,而是不需要。
我们设置了外键当时,并且指定了删除操作会触发联级删除。所以删userInfo表即可自动删除掉want表的数据。
具体代码可以复制:
def del_user(request):
id = request.GET['id']
DB_userInfo.objects.filter(id=id).delete()
return HttpResponse('')
from django.db import models
# Create your models here.
class DB_userInfo(models.Model):
wechat = models.CharField(max_length=20,default='') #微信号,字符串类型,最大长度20,默认值为空字符串
sex = models.CharField(max_length=20,default='') #性别,字符串类型,man / women
age = models.IntegerField(default=0) #年龄,整形
money = models.IntegerField(default=0) #年收入,整形
adress = models.CharField(max_length=20,default='') #地址,字符串类型,最大长度20,默认值为空字符串
height = models.IntegerField(default=0) #身高厘米,整形
weight = models.IntegerField(default=0) #体重斤,整形
appearance = models.IntegerField(default=0) #外表,满分10分,整形
character = models.CharField(max_length=20,default='') #性格,字符串描述,关键字匹配算法
education = models.CharField(max_length=20,default='') #学历,字符串描述,关键字匹配算法
def __str__(self):
return self.wechat
class DB_want(models.Model): #注意,其中按照人类习惯,,如年龄稍小加分就比稍大高,但没有正好高。
height = models.IntegerField(default=0) #身高厘米,整形
money = models.IntegerField(default=0) #年收入,整形
education = models.CharField(max_length=20,default='') #学历,字符串描述,关键字匹配算法
age = models.IntegerField(default=0) #年龄,整形
adress = models.CharField(max_length=20,default='') #地址,字符串类型,最大长度20,默认值为空字符串
user_info = models.ForeignKey(DB_userInfo,on_delete=models.CASCADE,related_name='user_info') #设置外键
def __str__(self):
return str(self.user_info)
当然我们一开始不使用外键的话,这些功能也一样可以实现。