How to read Objects from ManyToMany Relation class in django

111 views
Skip to first unread message

manas srivastava

unread,
Dec 29, 2019, 8:36:43 AM12/29/19
to Django users

I have made a class called friend where i want to connect users as followers. Here From this class i am unable to read the users those are following another user. For Eg if 'a' user fllows 'b' user. Then i want to get the names of user that followed b from the user id of b and display them as followers of a. This class is also not storing the userid of the following user and followed user. I am new to many to many relation field. Kindly help.

Code in Models.py

class Friend(models.Model):

    users = models.ManyToManyField(User)

    current_user = models.ForeignKey(User, related_name='follower', null=True,on_delete=models.CASCADE)

    @classmethod

    def make_friend(cls, current_user, new_friend):

        friend, created = cls.objects.get_or_create(

            current_user = current_user

        )

        friend.users.add(new_friend)

Its function in views.py is

def change_friends(request, operation, pk):

    friend = User.objects.get(pk=pk)

    if operation == 'add':

        Friend.make_friend(request.user, friend)

    elif operation == 'remove':

        Friend.lose_friend(request.user, friend)

    return redirect('home')

Its url in urls.py is

path('connect/<operation>/<pk>)',views.change_friends, name='change_friends')

Integr@te System

unread,
Dec 29, 2019, 10:12:59 AM12/29/19
to django...@googlegroups.com
Hi,

Check url.py with typo error at closed parenthesic.

On Sun, Dec 29, 2019, 20:35 manas srivastava <masterm...@gmail.com> wrote:

I have made a class called friend where i want to connect users as followers. Here From this class i am unable to read the users those are following another user. For Eg if 'a' user fllows 'b' user. Then i want to get the names of user that followed b from the user id of b and display them as followers of a. This class is also not storing the userid of the following user and followed user. I am new to many to many relation field. Kindly help.

Code in Models.py

class Friend(models.Model):

    users = models.ManyToManyField(User)

    current_user = models.ForeignKey(User, related_name='follower', null=True,on_delete=models.CASCADE)

    @classmethod

    def make_friend(cls, current_user, new_friend):

        friend, created = cls.objects.get_or_create(

            current_user = current_user

        )

        friend.users.add(new_friend)

Its function in views.py is

def change_friends(request, operation, pk):

    friend = User.objects.get(pk=pk)


    if<span class="pln" style="border-bottom-color: currentColor; border-bottom-style: none; border-bottom-width: 0px; border-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-source: none; border-image-width: 1; border-left-color: currentColor; border-left-style: none; border-left-width: 0px; border-right-color: currentColor; border-right-style: none; border-right-width: 0px; border-top-color: currentColor; border-top-style: none; border-top-width: 0px; box-sizing: inherit; color: rgb(48, 51, 54); font-family: inherit; font-size: 100%; font-size-adjust: none; font-stretch: 
Reply all
Reply to author
Forward
0 new messages