测试圈相亲平台开发流程(17):删除功能

2022-05-20 09:56:33 浏览数 (1)

本节课要删除用户了。

前提是 用户要先被搜索出来才行。

就是点击这个按钮:

首先,给这个删除按钮 弄个@click

然后在下面写出这个del_user函数:

那么问题来了,这个函数要怎么实现?

答:

先拿到用户id,然后发请求给后台即可。

那么用户id在哪呢?

答:

在变量userInfo中

所以函数写成下图即可:

然后去django的urls.py中写好:

然后去写好这个del_user函数:

经过测试后,成功删除了。

不过有的同学就要问了,是不是忘记删除want择偶标准表的数据了?

其实不是忘了,而是不需要。

我们设置了外键当时,并且指定了删除操作会触发联级删除。所以删userInfo表即可自动删除掉want表的数据。

具体代码可以复制:

代码语言:javascript复制
def del_user(request):
    id = request.GET['id']
    DB_userInfo.objects.filter(id=id).delete()
    return HttpResponse('')
代码语言:javascript复制
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)

当然我们一开始不使用外键的话,这些功能也一样可以实现。

0 人点赞