I want to to select some students from table A where students username and class code are not inside table B. So it will show all student that not inside the student class list yet.
the query was like
SELECT students from TableA WHERE username NOT IN tableB AND classcode = CODE
models.py
class modelStudentclassss m(models.Model):
classcode = models.CharField(max_length=200, null=False, blank=False)
username = models.CharField(max_length=200, null=False, blank=False)
class modelUser(models.Model):
username = models.CharField(max_length=200, null=False, blank=False)
views.py
studentclass = modelStudentclass.objects.all()
studentdata = modelUser.objects.exclude(studentusername = studentclass.username).filter(role="student", classcode=classcode)
CodePudding user response:
You can work with:
Studentclass.objects.exclude(username__in=User.objects.values('username')).filter(
classcode=code
)
Note: Models normally have no
Model…
prefix. Therefore it might be better to renametomodelUser
User
.
Note: Specifying
null=False
[Django-doc] is not necessary: fields are by default not NULLable.
Note: Specifying
blank=False
[Django-doc] is not necessary: fields are by default not blank and thus are required by a form.