Using model instance in admin form with script

19 views
Skip to first unread message

Robert Steckroth

unread,
Jan 25, 2014, 2:29:09 PM1/25/14
to Django users


class RssFeedPageForm(forms.ModelForm):
    class Meta:
        model = RssFeedPage

    def clean_link(self):
        self.instance.save()
        page_model_instance=self.instance, rss_item=RssFeedItem, feed_url=self.data['link'])
   UpdateFeeds().parse_feed(page_model_instance=self.instance, rss_item=RssFeedItem, feed_url=self.data['link'])



--
<surgemcgee>



Robert Steckroth

unread,
Jan 25, 2014, 2:37:01 PM1/25/14
to Django users
Opps, sorry. I was actually trying to ask how one would get a hold of the current model in this admin form, but the Esc key for some reason sent the message.
The above function works, but the instance is not a model instance which can be saved. How would I go about getting the current RssFeedPage model which pertains to the form instance?

This works great on the cli --> from Django_project.update_rss_feeds import *; m = get_models(); rss_page = m[1]; rss_item=m[2]; UpdateFeeds().parse_feed(page_model_instance=rss_page.objects.get(pk=1), rss_item=rss_item, feed_url="http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml")

..because I pass in a usable model to -> parse_feed(page_model_instance=model)

Note: this script will be open-sourced shortly. I will post the repo when it is ready :)
--
<surgemcgee>



Robert Steckroth

unread,
Jan 25, 2014, 4:01:11 PM1/25/14
to Django users
So that does not work. Is there a builtin method that will allow me to call the script before the form is rendered in save_model?

    form = RssFeedPageForm # <-- how can this be loaded with UpdateFeeds ValidationErrors?
    def save_model(self, request, obj, form, change):
        # UpdateFeeds().parse_feed will raise VailidationError
        UpdateFeeds().parse_feed(update_feed_data=True, update_item_data=True, page_model_instance=obj, rss_item=RssFeedItem, feed_url=form.data['link'])

--
<surgemcgee>



Reply all
Reply to author
Forward
0 new messages