Erste bestimmte Werte in django Form erscheinen
das Bild angehängt zeigt mein aktuelles Problem. Mathe 270 und Mathe 280 auf dem Bild wurden von einem anderen Benutzer erstellt und nicht von Jay, der den Jays-Kurs erstellt hat. Der andere Benutzer ist jedoch gerade angemeldet und nicht Jay. Wie kann ich nur die Kurse aufrufen, die vom eingeloggten Benutzer erstellt wurden, nicht von Jay, um in diesem Dropdown-Menü zu erscheinen?
In meinen Ansichten habe ich im Anschluss an den mit dem Versuch, das Problem zu lösen:
class CreateQuestion(LoginRequiredMixin, CreateView):
model = Question
fields = ["title", "question", 'classe']
template_name = "attendance_test/add_test.html"
def form_valid(self, form):
form.instance.instructor = self.request.user
return super(CreateQuestion, self).form_valid(form)
def get_context_data(self, **kwargs):
context = super(CreateQuestion, self).get_context_data(**kwargs)
context['classe'] = Classe.objects.filter(professor=self.request.user.id)
return context
def get_initial(self):
return { 'classe': Classe.objects.filter(professor=self.request.user.id) }
Meine Frage Modell:
class Question(models.Model):
title = models.CharField(max_length=100)
question = models.TextField(max_length=500)
date_pub = models.DateTimeField(auto_now_add=True)
instructor = models.ForeignKey(Teacher, on_delete=models.CASCADE, default="")
# this is where all the courses are showing up, I only want those
# created by the "instructor" to show up, not all instructors
classe = models.ForeignKey(Classe, on_delete=models.CASCADE, null=True)
def professor_classes(self):
return Classe.objects.filter(professor=self.professor)
Lehrer Modell:
class Teacher(User):
isProfessor = models.BooleanField(default=False)
professor_courses = models.ForeignKey('Classe', on_delete=models.CASCADE, null=True)
Dieses Problem wäre ein Problem, wenn es so viel wie 1000 Klassen sagen würde, aber ein Ausbilder dachte nur 4, es würde keinen Sinn ergeben, d Isplay alle 1000, als 996 nichts mit ihnen zu tun hatte. Für die Aufzeichnung habe ich diese Frage schon einmal gestellt, ich bekam eine Antwort, aber ich konnte sie immer noch nicht lösen.
Warum übergeben wir eine TeacherEditView? – BigMonkey89WithaLeg
Sorry, @ BigMonkey89WithaLeg, es war mein Fehler. Die Antwort wurde korrigiert. –
Wie fügen Sie ein ModelMultipleChoiceField zu dieser Formularklasse hinzu? – BigMonkey89WithaLeg