Django многие ко многим с двумя моделями?
 У меня есть две модели Students, University. Используя ее, студент может подать заявку на курс в университете, и требования таковы: когда студент подает заявку на курс в университете, мне нужно создать приложение (планирую создать отдельную модель для приложения) 
К этому приложению могут получить доступ как студент, так и университет. Целью обеспечения доступа к приложению для обоих является то, что есть много данных, которые будут обработаны позже!
Как создать общую таблицу приложения - чтобы оба могли получить доступ или неэффективно создавать отдельную таблицу?
Пожалуйста, подскажите, как с этим справиться!
Option1: Can a many to many be combined with Student and University to create a application model 
Option2: Add manytomany field to students model itself with University as foreign key ?
У меня есть записи более 1 миллиона, поэтому я немного обеспокоен эффективностью! Какой вариант лучше для двусторонней связи
 Лучшим способом справиться с этим будет промежуточная модель Application, содержащая внешние ключи к Student и University.
Наличие обоих внешних ключей в модели Application гарантирует отношения "многие ко многим" между студентом и университетом.
Решение будет выглядеть следующим образом:
class Student(models.Model):
    email = models.EmailField(max_length=255)
class University(models.Model):
    name = models.TextField()
class Application(models.Model):
    applicant = models.ForeignKey(
        "Student",
        on_delete=models.CASCADE
    )
    university = models.ForeignKey(
        "University",
        on_delete=models.CASCADE
    )
                    Option1: Can a many to many be combined with Student and University to create an application model 
На Вариант 1 ответил Ren. Для объяснения вы можете посмотреть Особенности и библиотеки Django Видео Мичиганского университета
Вариант 2: Это не будет соответствовать вашим требованиям. Действительно, Django автоматически сгенерирует таблицу для управления отношениями "многие-ко-многим". Вам нужно вручную указать промежуточную таблицу, вы можете использовать опцию through, чтобы указать модель Django, которая представляет промежуточную таблицу, которую вы хотите использовать. т.е. Вариант 1
См. ManyToManyField официальный документ.