Некоторые предложения для данных моделей:
models.py:
class Student:
name = models.CharField(max_length=100)
class Marks:
student = models.ForeignKey(Student, on_delete=models.CASCADE)
score = models.IntegerField()
status = models.CharField(max_length=30)
class Details:
address_city = models.CharField(max_length=30)
emailid = models.EmailField()
school = models.ForeignKey(Marks,on_delete=models.CASCADE)
accomplishments = models.TextField()
Теперь создайте модель сопоставления при создании таблицы сопоставления в sql:
class StundetMarksDetailsMap:
student = models.ForeignKey(Student, on_delete=models.CASCADE)
marks = models.ForeignKey(Marks, on_delete=models.CASCADE)
details = models.ForeignKey(Details, on_delete=models.CASCADE)
Теперь вы можете создать свой собственный queryset
так, как вы хотите в views.py или где вы хотите:
class StudentView(generic.DetailsView):
model = Student
template = student_details.html
//this will return all values related student
def get_queryset(self):
return StundetMarksDetailsMap.objects.filter(student=Student)
В основном это get_queryset
возвращает объекты моделей, которые были связаны с stundet, который былвыбранные, используйте возвращенные объекты Details и Marks для вызова соответствующих полей в вашем шаблоне.Также используйте только те поля, которые вы хотите отобразить.
Надеюсь, это работает и для вас.Всего наилучшего:)