如果在一定时间内创建了超过10个对象,则阻止创建对象?

时间:2016-07-28 17:49:19

标签: django

如果我在Django中有一个Entry对象。如何限制在10分钟左右创建的条目数量?

该方案是,如果用户尝试在特定时间段内创建10个以上的帖子,则会发出警告,说明您无法创建更多帖子bla bla。

1 个答案:

答案 0 :(得分:0)

import datetime
from django.utils import timezone

class Post(models.Model):
    user = models.ForeignKey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE
    )
    content = models.TextField()
    date_created = models.DateTimeField(auto_now_add=True)

num_recent_posts = user.post_set.filter(
    date_created__gte=timezone.now() - datetime.timedelta(minutes=10),
).count()

if num_recent_posts > 10:
    ...