I override add_prefix because on client side I use angularjs. In some cases 
it is impossible or not easy to use hyphens in the names.

I do not overwrite _construct_form! That was just a possibility to solve 
that. But at the moment, I see no other options for solving that.

I find it personally that generating variable pk_key within the 
_construct_form is a bad practice. And becomes not compatible with 
generating form field ID's and -field names.

On Tuesday, 2 April 2019 23:15:15 UTC+2, Matthew Pava wrote:
>
> Why are overwriting add_prefix? Why are you overwriting _*construct*_form?
>
>  
>
> *From:* django...@googlegroups.com <javascript:> [mailto:
> django...@googlegroups.com <javascript:>] *On Behalf Of *nikolaysm
> *Sent:* Tuesday, April 2, 2019 9:37 AM
> *To:* Django users
> *Subject:* BaseModelFormSet > _construct_form
>
>  
>
> Hello,
>
>  
>
> In function _construct_form variable "pk_key" is generated as:
>
>  pk_key = "%s-%s" % (self.add_prefix (i), self.model._meta.pk.name) "
>
>  
>
> So pk_key is not flexible. Because if I overwrite function "add_prefix" 
> from class "forms.ModelForm", I get error "MultiValueDictKeyError".
>
>  
>
> My add_prefix function:
>
> def add_prefix(self, field_name):
>
>       return '%s_%s' % (self.prefix, field_name) if self.prefix else 
> field_name
>
>  
>
> I see a possibility to solve that for now. Overwrite function 
> _construct_form.
>
> Other options?
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to django...@googlegroups.com <javascript:>.
> To post to this group, send email to djang...@googlegroups.com 
> <javascript:>.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/django-users/92616dd1-1e04-43f6-9e91-edfc56dfe5bc%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/django-users/92616dd1-1e04-43f6-9e91-edfc56dfe5bc%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/95d37c13-d5da-4566-913d-cff89975f897%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to