DRF:如何根据一般而不是每个用户发出的请求量来限制创建请求
Drf: how to throttle a create request based on the amount of request's made in general and not per user
我正在制作一个考勤系统,教师和允许的学生可以在其中参加他们的 class,我希望它每天一次,如果学生已经参加了,那么老师就不应该参加能够。
出勤模型
class Attendance(models.Model):
Choices = (
("P", "Present"),
("A", "Absent"),
("L", "On leave"),
)
Student = models.ForeignKey(
User, on_delete=models.CASCADE, blank=False, null=True)
leave_reason = models.CharField(max_length=355, blank=True, null=True)
Date = models.DateField(blank=False, null=True,
auto_now=False, auto_now_add=True)
Presence = models.CharField(
choices=Choices, max_length=255, blank=False, null=True)
def __str__(self):
return f'{self.Student}'
您可以使 Student
和 Date
的组合与 UniqueConstraint
[Django-doc] 一起唯一:
class Attendance(models.Model):
# …
class Meta:
constraints = [
models.UniqueConstraint(<strong>fields=('Student', 'Date')</strong>, name='student_once_per_date')
]
我正在制作一个考勤系统,教师和允许的学生可以在其中参加他们的 class,我希望它每天一次,如果学生已经参加了,那么老师就不应该参加能够。
出勤模型
class Attendance(models.Model):
Choices = (
("P", "Present"),
("A", "Absent"),
("L", "On leave"),
)
Student = models.ForeignKey(
User, on_delete=models.CASCADE, blank=False, null=True)
leave_reason = models.CharField(max_length=355, blank=True, null=True)
Date = models.DateField(blank=False, null=True,
auto_now=False, auto_now_add=True)
Presence = models.CharField(
choices=Choices, max_length=255, blank=False, null=True)
def __str__(self):
return f'{self.Student}'
您可以使 Student
和 Date
的组合与 UniqueConstraint
[Django-doc] 一起唯一:
class Attendance(models.Model):
# …
class Meta:
constraints = [
models.UniqueConstraint(<strong>fields=('Student', 'Date')</strong>, name='student_once_per_date')
]