form_for_model(IDInternal) will autogenerate form elemnts to edit the model

class ImageAddForm(BaseForm):

    def __init__(self, *args, name=None, **kwargs):
        super(ImageAddForm, self).__init__(*args, **kwargs)
        self.fields['category'].choices=(('a','a'),)
	# create filter based on name=

ImageForm = form_for_model(Image, form=ImageAddForm)
foo = ImageForm(name='foo')



To get from draft to author list:

>>> d = a[5]
>>> print d
draft-fenner-zinin-rtg-standard-reqts
>>> print d.authors.all()
[<IDAuthors: IDAuthors object>, <IDAuthors: IDAuthors object>]
>>> l=d.authors.all()
>>> print l[0].person
Bill Fenner
>>> print l[0].person.emailaddresses_set.filter(priority=d.id_document_tag)
[<EmailAddresses: EmailAddresses object>]
>>> print l[0].person.emailaddresses_set.filter(priority=d.id_document_tag)[0].ail_address
fenner@research.att.com

IDAuthors should have an auxilliary function for this.
It's the one that has the person linkage and knows the document.


--
we should use a variant of django-registration.
http://www.stonemind.net/blog/2007/04/13/django-registration-for-newbies/

1. verify email address with round trip
2. if there's a row in iesg_login, use that username
   (? liaison tool logins ?)
   otherwise, force the email address
3. get a password and create the user
   (this is almost the same as resetting the password)
4. find the person_or_org_info row, associate that with
   the user row

--

<ubernostrum> Both the regular and date-base object_detail can take either an
+object_id, or a slug/slug_field combo.
<ubernostrum> So use the username as the "slug" and specify 'username' as the
+'slug_field' argument.

http://www.b-list.org/weblog/2006/11/16/django-tips-get-most-out-generic-views

newly learned: 'slug_field' just gets passed so can be otherdb__username
