Пользовательская админка в строке для многих полей
У меня есть поле 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)