如何对 Django Admin Table 的浮动字段设置最大和最小限制?

How do I put max and min limit on Django Admin Table's float fields?

我有一个 Details 模型如下:

class Detail(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    subject = models.CharField(max_length=50)
    skype_session_attendance = models.FloatField()
    internal_course_marks = models.FloatField()
    programming_lab_activity = models.FloatField()
    mid_term_marks = models.FloatField()
    final_term_marks = models.FloatField()

    def __str__(self):
        return f'{self.user.username}-{self.subject}'

我希望管理面板对所有浮动字段都有最小和最大限制,例如,当管理员尝试通过管理面板在详细信息的 Table 浮动字段中输入值时,he/she 不应允许输入除最小和最大限制范围内的值。

谁能帮我解决这个问题?

您可以像这样使用验证器:

from django.core.validators import MaxValueValidator, MinValueValidator

min = 0
max = 10
skype_session_attendance = models.FloatField(
    validators=[MinValueValidator(min), MaxValueValidator(max)],
)