Easiest solution I can see is to create two form classes: StudentForm
and NonStudentForm.  On student form you can then edit form.instance
or form.cleaned_data depending on what your needs are to add the
additional fields before the object is created/updated.

Another approach would be to try setting the fields to "blank = True"
in your model declaration.  I believe this is the exact case for both
a blank=True and a null=True model options.  Blank is for form
validation, Null is for database.

Not a full solution, but perhaps gets you part of the way there.

Ted

On Dec 28, 12:21 pm, Axel Bock <justsomeoneoutth...@gmail.com> wrote:
> Hi all,
>
> I have this little problem. In my little webapp I have a data model which
> defines several required fields. Depending on WHO is logged on, some of
> these fields should not be changed by the user and be pre-filled (or better:
> post-filled) by the application.
>
> Currently I delete the fields out of the formset like this:
>             # prevent entering missions for all other bases
>             del missionform.fields['base']
>
> so the field gets not rendered in the view. Which works nicely.
>
> Unfortunately base is required, so the validation fails. Now how can I
> insert the missing values into the POST data? I tried this:
>         if request.user.userflag.is_student:
>             logging.error("studen")
>             inst=FlownMission(
>                 student=request.user,
>                 base=request.user.studentinfo.current_base
>             )
>         flownmission = FlownMissionForm(request.POST, instance=inst)
>
> which does not work at all :( . The validation fails all the time ... . I
> just need to inject 2 required values somewhere in the POST data, but I have
> no clue how.
>
> Any help would be greatly appreciated, and I am a total django "newb" ... :)
>
> Thanks & greetings,
> Axel.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@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.

Reply via email to