Hello,

 I'm fairly new Django user, but have some background experience with
other frameworks. Sorry if this topic was discussed before, but I was
not able to find any mention of it.

 My question is related to architectural decisions of the forms,
fields and widgets.

 At the moment in Django, all "incoming" data is processed by the
widget and clean by the field. Data flow: raw data -> widget -> field ->
form.
 However, reverse process is different: data -> form -> widget
data. As you can see, field does not play and role in reverse data
conversion.

 Let's examine simple task. ModelForm calls model_to_dict() to
initialize form fields with initial data. In case of models data is
their id's.
 But what if one will want to develop widget that requires more
than just a model id? For example: str(model) and model.id at the same
time? There are not so many options how it can be done right now: or
derive from ModelForm and override it's data gathering behavior
(rewrite model_to_dict()) or run extra query in the widget itself (which
is not optimal).

 Possible naive solution: if it would be possible to make field work in
_both_ directions, it would be awesome.
 If field will know that it works with models (like ModelForm related
fields), it will be responsible for cleaning data to the
widget-appropriate format.

 It is my two cents. I don't know if somebody already tried to make it
work this way of there were some reasons not to do this way... I don't
know.

 Thanks,
Serge.

-- 
Best regards,
 Serge                          mailto:serge.ko...@gmail.com


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to