You would create a custom change manipulator... and you could pass it
the main 'parent' object ... then in your flatten data routine, you
could extract all of the values for your related objects.

I don't really know what fields you have or anything..but here is some
sample code in the right direction for something like that for the
flatten data inside the custom change manipulator:

 def flatten_data(self):
         origproject = self.original_object
         fields = dict([(field.name, getattr(origproject,
field.attname)) for field in self.original_object._meta.fields])

         # other related items
         tasks = # some code to load your tasks
         for task in tasks:
                fields['task_name_flag'] = task.task_flag

         return fields



On Mar 5, 8:47 am, "allmanj" <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> I've been trawling through django code and i'm beginning to hit a
> brick wall on this one. I want to create a view to edit and create a
> bunch of objects. Edit those which exist and (optionally) add those
> that don't.
>
> I have for the purposes of this discussion, four classes, Project,
> Group, ChecklistItem and Task.
>
> The idea is that every Group has a checlist (a bunch of ChecklistItems
> with a foreign key of their Group) which they must fulfill for every
> Project. The Task table is used to actually track which items on which
> checklist have been completed for which projecct. So the Task object
> has foreign keys for ChecklistItem and a Project and a boolean
> "completed" field.
>
> I want to be able to present a view for a specific group and a
> specific project that will show them and allow them to edit all of the
> items on their checklist for that project. In other words, for every
> ChecklistItem associated with that Group, if there is a Task object
> related to that ChecklistItem and the specified Project, populate the
> completed field appropriately - if there is not, provide a form with
> the checklistitem id and project id filled in and add the new item on
> submission.
>
> My problem stems from the fact that all of the django code i can see
> (version 0.9.5 - i can't upgrade to svn atm) provides nice shortcuts
> for editing a single object. The only code for editing multiple
> objects is for related objects edited inline. What i need is something
> *very* similar to this but not just for related objects - for *any*
> objects.
>
> I'm particularly confused by the index of fields get populated by
> django. So how it gets <relatedfieldname>.<index>.<fieldname> as the
> name of the input html field. The magic must be with the
> FormFieldCollection class, which takes an index as an input to
> __init__ but then appears simply to save it. I can't see how it's used
> then after that?
>
> When saving, the magic of de-mangling appears to be taken care of by
> the DotExpandedDict class which i can follow. I'm hoping if i can work
> out the magic of mangling the field names, i might be able to create a
> generic view for editing/creating multiple objects (preferably of any
> type) by using <modelname>.<index>.<fieldname> as the name of the
> input html field.
>
> I feel this would be useful for django developers. Any help or hints
> would be greatly appreciated and if anyone can explain the current
> "index" naming scheme creation in particular i'd be grateful. Please
> cc me in replies.
>
> Thanks,
>
> John


--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to