view gpp/weblinks/forms.py @ 552:9e42e6618168

For bitbucket issue #2, tweak the admin settings for the Post model to reduce slow queries. Define our own queryset() method so we can control the select_related(), and not have it cascade from post to topics to forums to categories. Removed 'topic' from list_display because MySQL still sucked with 2 inner joins. Now it seems to be tolerable with only one join to User.
author Brian Neal <bgneal@gmail.com>
date Wed, 25 Jan 2012 20:07:03 -0600
parents d424b8bae71d
children
line wrap: on
line source
"""
Forms for the weblinks application.
"""

from django import forms
from weblinks.models import PendingLink, Link


class AddLinkForm(forms.ModelForm):
   title = forms.CharField(widget = forms.TextInput(attrs = {'size': 52}))
   url = forms.CharField(widget = forms.TextInput(attrs = {'size': 52}))

   def clean_url(self):
      new_url = self.cleaned_data['url']
      try:
         Link.objects.get(url__iexact = new_url)
      except Link.DoesNotExist:
         return new_url
      raise forms.ValidationError('That link already exists in our database.')

   class Meta:
      model = PendingLink
      exclude = ('user', 'date_added', 'update_date')