Пользовательская админка в строке для многих полей

У меня есть поле manytomany под названием following, где хранятся все другие пользователи, за которыми следит пользователь. Я хочу иметь возможность просматривать, добавлять, удалять пользователей в этом поле для каждого пользователя. Это моя попытка создать пользовательский инлайн в админке, может ли кто-нибудь помочь с тем, чтобы это работало так, как нужно.

models.py (следующее поле в классе user(abstractuser):

)
following = models.ManyToManyField(settings.AUTH_USER_MODEL,
                                       related_name='Following',
                                       blank=True,
                                       symmetrical=False)

Admin.py:

from django.contrib import admin
from .models import User

class FollowingInline(admin.TabularInline):
    model = User.following.through
    fk_name = 'from_user'
    extra = 1  # Allow adding one extra form for adding followers

class UserAdmin(admin.ModelAdmin):
    list_display = ('username', 'full_name', 'email')
    inlines = [FollowingInline]

    def save_formset(self, request, form, formset, change):
        instances = formset.save(commit=False)
        for instance in instances:
            if instance.to_user_id:  # Check if a user is selected
                instance.save()
            elif instance.id:  # Check if an existing instance is being deleted
                instance.delete()
        formset.save_m2m()

admin.site.register(User, UserAdmin)
Вернуться на верх