У меня есть 2 модели, как показано ниже:
models.py
from django.contrib.auth.models import User #(with groups = 'admin','student','faculty')
class Course (models.Model):
name = models.CharField(max_length=100)
class Course_Faculty (models.Model):
course = models.ForeignKey(Course,on_delete=models.CASCADE)
faculty = models.ForeignKey(User,on_delete=models.SET_NULL,null=True)
И мой мотив состоит в добавлении / удалении только пользователей с именем группы 'faculty' к курсу с использованием встроенного Formset следующим образом, но я получил список всех пользователей в результате.
views.py
def viewCourse (request,pk):
course = Course.objects.get(id=pk)
FacultyFormset = inlineformset_factory(Course, Course_Faculty, fields=('faculty',))
formset = FacultyFormset(queryset=Course_Faculty.objects.filter(faculty__groups__name='faculty'), instance=course)
if request.method == 'POST':
formset = FacultyFormset(request.POST, instance=course)
if formset.is_valid():
formset.save()
return redirect('view_course', course_id=course.id)
formset = FacultyFormset(instance=course)
context = {
'course':course,
'formset': formset
}
return render(request,'myapp/courseProfile.html',context)
Пожалуйста, предложите, как достичь.