Совместное использование файлов в приложении Django между администратором и другими пользователями

У меня есть тип_пользователя с именем staff_user и Admin здесь admin должен поделиться файлом с staff_user.На странице file_list в admin у нас должна быть опция под названием share_with_staff_user при нажатии на нее будет отображаться список staff_users при выборе и совместном использовании файл должен отображаться на странице staff_user file page. как я могу добиться этого.

models.py

class StaffUserDocument(BaseModel):
    staffuser = models.ForeignKey(StaffUser, related_name='documents', 
                       on_delete=models.CASCADE)
    uploaded_by = models.ForeignKey('User', related_name='+', null=True, 
                       on_delete=models.SET_NULL)
    name = models.CharField(max_length=255)
    file = models.FileField(upload_to='protected/')


class AdminDocument(BaseModel):
    uploaded_by = models.ForeignKey('User',related_name='+',null=True,
                              on_delete=models.SET_NULL)
    name = models.CharField(max_length=255, unique=True)
    slug = models.SlugField(max_length=255, unique=True)
    file = models.FileField()

views.py

class AdminDocumentListView(LoginRequiredMixin, CustomPermissionMixin, TemplateView):
    template_name = 'admin_document_list.html'
    permission_classes = [IsStaff]

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['urlParams'] = self.request.GET
        context['instanceData'] = {}
        return context

@login_required
def staff_user_profile_documents(request):
    staffuser = request.user.person.staffuser
    data = {'neutral': staffuser, 'documents': staffuser.documents.all()}
    return render(request, template, data)
Вернуться на верх