我正在django建立学院管理系统,包括测试、lms和考勤等功能。
我要列出所有的学生与status=True默认在django管理内联。所以老师不必为每个学生敲状态复选框,默认情况下每个学生都应该在场(status=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 ]提前谢谢。
发布于 2022-03-02 13:44:04
正如其他人所评论的那样,将参数"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”。选择列表中每个元组中的第一个字符串将保存到数据库中。第二个字符串对用户是可见的,因此如果有用例,您可以更改这些字符串。
https://stackoverflow.com/questions/71323212
复制相似问题