Как установить начальное значение для присутствия всех студентов в системе управления колледжем | django admin inline
Я создаю систему управления колледжем на django, включая такие функции, как викторина, lms, посещаемость и т.д.
Я хочу, чтобы в админке django в режиме inline выводился список всех студентов со статусом = True по умолчанию. Чтобы учителю не нужно было вбивать флажок статуса для каждого ученика, каждый ученик должен присутствовать (статус=True) по умолчанию, а учителю нужно только снять флажок статуса для тех, кто отсутствует. Я много гуглил, но с трудом нашел решение. Вот что я хочу:

Как вы можете видеть, все студенты присутствуют Status=True, это должно быть поведение по умолчанию
Моя модель:
class Attendance(models.Model):
course = models.ForeignKey(settings.COURSE_MODEL, on_delete=models.CASCADE)
date = models.DateField(default=datetime.now)
class AttendanceStatus(models.Model):
attendance = models.ForeignKey(Attendance, on_delete=models.CASCADE)
student = models.ForeignKey(settings.STUDENT_MODEL, on_delete=models.CASCADE)
status = models.BooleanField()
А вот и администратор.
class AttendanceStatusInline(admin.TabularInline):
model = AttendanceStatus
can_delete = False
fields = [ 'student', 'status' ]
autocomplete_fields = [ 'student' ]
@admin.register(Attendance)
class AttendanceAdmin(admin.ModelAdmin):
list_display = [ 'course', 'date']
autocomplete_fields = ['course']
inlines = [ AttendanceStatusInline ]
Заранее спасибо.
Как уже писали другие, добавление аргумента "default='True'" к полю вашей модели поможет. В случае, если вы обнаружите, что вам нужно больше, чем "да или нет", но все еще хотите иметь значение по умолчанию, вы можете сделать что-то вроде:
ATTENDANCE_CHOICES = [
('Present', 'Present'),
('Absent', 'Absent'),
('Late', 'Late'),
('Excused Absence', 'Excused Absence'),
]
class AttendanceStatus(models.Model):
attendance = models.ForeignKey(Attendance, on_delete=models.CASCADE)
student = models.ForeignKey(settings.STUDENT_MODEL, on_delete=models.CASCADE)
status = models.CharField(max_length=100, choices=ATTENDANCE_CHOICES, default=ATTENDANCE_CHOICES[0][0])
Это создаст выпадающий список для вашего поля с выбором по умолчанию в качестве первого варианта в списке, в данном случае 'Present'. Первая строка в каждом кортеже списка вариантов будет сохранена в базе данных. Вторая строка видна пользователю, поэтому вы можете изменить их, если это необходимо.