У меня установлена стандартная связь «многие к одному». Есть множество полей, но для наших целей здесь подходящая модель:
class Class(models.Model):
name = models.CharField(max_length=128)
class Student(models.Model):
class = models.ForeignKey(Class)
name = models.CharField(max_length=128)
address = models.CharField(max_length=128)
# ...etc
Я создал администратора, и он отлично работает. у меня даже есть возможность автоматически установить класс, когда я редактирую ученика. Однако, когда я перехожу к созданию / редактированию класса, все, что я получаю, - это поле ввода для имени.
Есть ли способ добавить поле / поле, в которое студенты могут быть добавлены в качестве членов класса со страницы администратора класса ? Я могу сделать форму встроенной, но это для создания новых студентов. У меня уже созданы все мои ученики, и я просто ищу быстрый способ добавить несколько существующих учеников в другой класс ».
Вы могли также выполнить студенческую канавку имен вторая модель так, чтобы они были ForeignKey
. Например, после исходного сообщения кода добавьте:
class AssignedStudents(models.Model):
assigned_to = models.ForeignKey(Class, on_delete=models.CASCADE)
student = models.ForeignKey(Student, on_delete=models.CASCADE)
Затем добавляют, что встроенное администратору как Luke Sneeringer сказало. Вы заканчиваете с выпадающим списком, из которого можно выбрать студенческие имена. Хотя, существует все еще опция создать новых студентов.