0
私はDjangoにEntryオブジェクトがあるとします。 10分ほどで作成されたエントリの量をどのように制限できますか?オブジェクトが一定の時間内に10以上以上作成された場合、オブジェクトを作成しないようにしますか?
シナリオでは、ユーザーが特定の期間に10以上の投稿を作成しようとすると、さらに投稿を作成できないという警告が表示されます。
私はDjangoにEntryオブジェクトがあるとします。 10分ほどで作成されたエントリの量をどのように制限できますか?オブジェクトが一定の時間内に10以上以上作成された場合、オブジェクトを作成しないようにしますか?
シナリオでは、ユーザーが特定の期間に10以上の投稿を作成しようとすると、さらに投稿を作成できないという警告が表示されます。
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:
...