M main/feeds.py => main/feeds.py +1 -1
@@ 86,7 86,7 @@ class RSSBlogFeed(Feed):
owner__username=self.subdomain,
published_at__isnull=False,
published_at__lte=timezone.now().date(),
- ).order_by("-published_at")[:10]
+ ).order_by("-published_at")[:self.user.number_of_posts_feed]
def item_title(self, item):
return item.title
A main/migrations/0120_user_number_of_posts_feed.py => main/migrations/0120_user_number_of_posts_feed.py +18 -0
@@ 0,0 1,18 @@
+# Generated by Django 5.2.5 on 2025-09-20 20:19
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('main', '0119_remove_user_markdown_link_paste_on_and_more'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='user',
+ name='number_of_posts_feed',
+ field=models.IntegerField(default=10, help_text='Number of posts to show in RSS/Atom feed. Default is 10.', verbose_name='Number of Posts in Feed'),
+ ),
+ ]
M main/models.py => main/models.py +7 -0
@@ 135,6 135,13 @@ class User(AbstractUser):
default="User-agent: *\nDisallow:\nAllow: /",
)
export_unsubscribe_key = models.UUIDField(default=uuid.uuid4, unique=True)
+ number_of_posts_feed = models.IntegerField(
+ blank=False,
+ help_text="Number of posts to show in RSS/Atom feed. Default is 10.",
+ verbose_name="Number of Posts in Feed",
+ null=False,
+ default=10,
+ )
# webring related
webring_name = models.CharField(max_length=200, blank=True, null=True)