Как обновить фид в django с помощью feedparser?
я ищу способ обновления rss-лент с помощью feedparser. я пробовал:
в models.py
class Feed(models.Model):
    title = models.CharField(max_length=200, unique=True)
    url = models.URLField(unique=True)
    is_active = models.BooleanField(default=True)
    def __str__(self):
        return self.title
    def load_articles(self):
        new_list = feedparser.parse(self.url)
        for entry in new_list.entries:
            try:
                Article.objects.create(entry)
            except IntegrityError:
                pass
class Article(models.Model):
    feed = models.ForeignKey('Feed', on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    url = models.URLField()
    description = models.TextField()
    publication_date = models.DateTimeField()
и я создал команду управления
from django.core.management.base import BaseCommand, CommandError
from news.models import Feed, Article
art = Article()
class Command(BaseCommand):
    help = 'updates feeds'
    def handle(self, *args, **kwargs):
        Feed.load_articles(art)
        self.stdout.write("feeds updated")
команда не возвращает никакой ошибки и печатает обновленные фиды, но я не вижу никакого эффекта.
Ок, я заметил, что вы сделали неправильно после короткого разговора в комментариях.
Посмотрите, как вы написали команду handle:
    def handle(self, *args, **kwargs):
        Feed.load_articles(art)
        self.stdout.write("feeds updated")
 Это неправильно - потому что вы пытаетесь передать пустой Article() без ЛЮБЫХ данных. Он даже не содержит url - вот почему он возвращает пустое ничто, он просто вызывает, вероятно, /.
Попробуйте написать команду handle таким образом:
    def handle(self, *args, **kwargs):
        feeds = Feed.objects.all()
        for item in feeds:
            item.load_articles()
        self.stdout.write("feeds updated")
Надеюсь, что все получится.