Changing data in a django modelform
        Posted  
        
            by Matt Hampel
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Matt Hampel
        
        
        
        Published on 2009-07-09T23:00:57Z
        Indexed on 
            2010/06/10
            6:02 UTC
        
        
        Read the original article
        Hit count: 591
        
I get data in from POST and validate it via this standard snippet:
entry_formset = EntryFormSet(request.POST, request.FILES, prefix='entries')
if entry_formset.is_valid():
    ....
The EntryFormSet modelform overrides a foreign key field widget to present a text field. That way, the user can enter an existing key (suggested via an Ajax live search), or enter a new key, which will be seamlessly added.
I use this try-except block to test if the object exists already, and if it doesn't, I add it.
entity_name = request.POST['entries-0-entity']
try:
    entity = Entity.objects.get(name=entity_name)
except Entity.DoesNotExist:
    entity = Entity(name=entity_name)
    entity.slug = slugify(entity.name)
    entity.save()
However, I now need to get that entity back into the entry_formset. It thinks that entries-0-entity is a string (that's how it came in); how can I directly access that value of the entry_formset and get it to take the object reference instead?
© Stack Overflow or respective owner