Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何从自联接表中的数据库中删除好友?_Django_Python 3.x_Sqlite_Django Orm - Fatal编程技术网

Django 如何从自联接表中的数据库中删除好友?

Django 如何从自联接表中的数据库中删除好友?,django,python-3.x,sqlite,django-orm,Django,Python 3.x,Sqlite,Django Orm,下面是我的模型 class User(models.Model): name = models.CharField(max_length = 255) alias = models.CharField(max_length = 255) email = models.CharField(max_length = 255) password = models.CharField(max_length = 255) confirm_password = mod

下面是我的模型

class User(models.Model):
    name = models.CharField(max_length = 255)
    alias = models.CharField(max_length = 255)
    email = models.CharField(max_length = 255)
    password = models.CharField(max_length = 255)
    confirm_password = models.CharField(max_length = 255)
    birthday = models.DateTimeField(null=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    friend = models.ManyToManyField('self')
    objects = UserManager() 
下面是添加好友的方法

def add_friend(request, friend_id):
    new_friend = User.objects.get(id=friend_id)
    print(new_friend.name)
    current_user = User.objects.get(id=request.session['user_id'])
    print(current_user.name)
    current_user.friend.add(new_friend)
    current_user.save()
    new_friend.friend.add(current_user)
    return redirect('/friends/')
但是,我需要帮助从用户中删除好友。下面是我尝试过的,但不起作用。当我检查sqllite时,朋友仍然与该用户连接

def remove_friend(request, friend_id):
    remove_friend = User.objects.get(id=friend_id)
    print(remove_friend.name)
    current_user = User.objects.get(id=request.session['user_id'])
    print(current_user.name)
    current_user.friend.remove(remove_friend)
    current_user.save()
    remove_friend.friend.remove(current_user)
    return redirect('/friends/')

这两种方法都被命名为
add\u friend
,内容几乎相同。你打算在哪里删除该对象?@Selcuk刚刚更新了第二个方法!您只更改了名称,但它仍尝试添加而不是删除。