Well I experimented with your tips Daniel, and put this in my forms file: class SurveyForm(forms.ModelForm):
name = forms.CharField(max_length=50, widget=forms.TextInput(attrs= {'size':'50'})) class Meta: model = Survey And it works. I assume I just add the ones above that I want to change the defaults on? Much DRYer - ah Thank You On Jan 15, 1:38 pm, Peter Bailey <p.h.bai...@gmail.com> wrote: > Thanks for the tips Dan, I thought the DRY thing could not be right. > Not sure I understand tho - I originally made the form with just the > inner Meta class definition - do you do that and then override things > that need to change (e.g. where I want to use a longer TextInput > widget or whatever. > > Things worked fine until I changed to the above form definition so > that I could make mods to the default output. > > re "client = forms.ModelChoiceField(User.objects.all())", that is the > line I mentioned above that I commented out because I suspected it > too. I tried your change, still not working > > Here is the traceback. Thanks Dan and Andrew, listening while I am > being so verbose, but I wanted to convey as much info as possible. I > am learning django and python together, and it gets to be pretty > boggling sometimes, although it is the most fun developing I have had > in years. I appreciate you taking your time looking at this. > > Environment: > > Request Method: GET > Request URL:http://localhost:8000/surveyadd/ > Django Version: 1.1 pre-alpha SVN-9734 > Python Version: 2.5.1 > Installed Applications: > ['django.contrib.auth', > 'django.contrib.contenttypes', > 'django.contrib.sessions', > 'django.contrib.sites', > 'django.contrib.admin', > 'generator.surveys'] > Installed Middleware: > ('django.middleware.common.CommonMiddleware', > 'django.contrib.sessions.middleware.SessionMiddleware', > 'django.contrib.auth.middleware.AuthenticationMiddleware', > 'django.middleware.doc.XViewMiddleware') > > Traceback: > File "/Library/Python/2.5/site-packages/django/core/handlers/base.py" > in get_response > 86. response = callback(request, *callback_args, > **callback_kwargs) > File "/Users/peterbailey/pywork/generator/../generator/surveys/ > views.py" in surveyadd > 137. form = SurveyForm() > File "/Library/Python/2.5/site-packages/django/forms/models.py" in > __init__ > 212. self.instance = opts.model() > > Exception Type: TypeError at /surveyadd/ > Exception Value: 'NoneType' object is not callable > > Hope that is all the traceback info you need. > > Peter > > On Jan 15, 1:16 pm, Daniel Roseman <roseman.dan...@googlemail.com> > wrote: > > > On Jan 15, 5:35 pm, Peter Bailey <p.h.bai...@gmail.com> wrote: > > > > I have just recently started using forms. I was avoiding them because > > > I thought they were not very DRY, but discovered I need them for added > > > flexibility such as displaying field lengths for example. > > > > Anyway, I have created a Form for a Survey object that I use. If I go > > > to my edit page for a Survey, everything works perfectly. If I go to > > > do a simple add new (like right out of the docs), I always receive an > > > error "NoneType' object is not callable". So I am assuming I am trying > > > to use something not in existence yet, but it seems bizarre to me (but > > > I am a form noob and hoping I am doing something stupid (at least 1 > > > thing)). Here is my model > > > <snip code> > > > > I tried commenting out the foreign key to the user but that made no > > > difference. I must be doing something stupid here (obvious hopefully). > > > > Can anyone tell me what the problem is? > > > > Thanks, > > > > Peter > > > Why have you repeated all the definitions from the model in your form? > > As you say, that isn't very DRY, but there's no reason to do it at > > all. > > > It would have been helpful to have posted the full traceback. I > > suspect your error is coming from this line: > > client = forms.ModelChoiceField(User.objects.all()) > > which should be > > client = forms.ModelChoiceField(queryset=User.objects.all()) > > However, as i note above, you don't need the line - or any of the > > field declarations - at all. You do, however, need an inner Meta class > > which defines the model the form belongs to (Survey). > > > -- > > DR. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---