首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在高校管理系统中为所有学生设置初始值

如何在高校管理系统中为所有学生设置初始值
EN

Stack Overflow用户
提问于 2022-03-02 13:05:32
回答 1查看 69关注 0票数 0

我正在django建立学院管理系统,包括测试、lms和考勤等功能。

我要列出所有的学生与status=True默认在django管理内联。所以老师不必为每个学生敲状态复选框,默认情况下每个学生都应该在场(status=True),老师只需要取消对缺席者的状态检查。我搜索了很多,但很难找到解决方案。这就是我想要的:

正如您所看到的,所有的学生都在Status=True,这应该是默认行为。

我的模特:

代码语言:javascript
复制
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()

这里是管理员。

代码语言:javascript
复制
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 ]

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-03-02 13:44:04

正如其他人所评论的那样,将参数"default='True'“添加到您的模型字段中就可以了。如果您发现您需要的不仅仅是“是”或“否”,但仍然需要默认设置,您可以这样做:

代码语言:javascript
复制
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”。选择列表中每个元组中的第一个字符串将保存到数据库中。第二个字符串对用户是可见的,因此如果有用例,您可以更改这些字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71323212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档