Good day,

We have an inline formset where each instance of the form has a 
ManyToManyField for selecting countries. Here is the code:


*# models*
*class Geographic_Scope_Region(models.Model):*
*    # class name exception (underscore) because ManyToManyField assumes pk 
is lower(Table_Name) + _id*
*    geographic_scope_region_id = models.AutoField(primary_key=True)*
*    issf_core = models.ForeignKey(Issf_Core)*
*    REGION_NAME = (*
*        ('Asia', 'Asia'),*
*        ('Africa', 'Africa'),*
*        ('Caribbean', 'Caribbean'),*
*        ('Europe', 'Europe'),*
*        ('Latin America', 'Latin America'),*
*        ('North America', 'North America'),*
*        ('Oceania', 'Oceania'),*
*        ('Other', 'Other'),*
*    )*
*    region_name = models.CharField(choices=REGION_NAME, max_length=100)*
*    region_name_other = models.CharField(max_length=100)*
*    countries = models.ManyToManyField(Country, 
db_table='geographic_scope_region_country', blank=True)*

*    class Meta:*
*        managed = False*
*        db_table = 'geographic_scope_region'*

*# forms*
*class GeographicScopeRegionForm(ModelForm):*
*    class Meta:*
*        model = Geographic_Scope_Region*
*        labels = {*
*            'region_name': 'Name of region',*
*            'region_name_other': 'Other region name',*
*            'countries': 'Select country(ies) (if applicable)',*
*        }*

*GeographicScopeRegionInlineFormSet = inlineformset_factory(Issf_Core, 
Geographic_Scope_Region, form=GeographicScopeRegionForm, extra=2)*

*# views*
*class GeographicScopeRegionUpdateView(UpdateView):*
*    model = Issf_Core*
*    form_class = GeographicScopeRegionInlineFormSet*
*    success_url = '/'*

It works great and produces the following (simplified) output:

<https://lh3.googleusercontent.com/-CzxpKsbf0TA/U3ODe-r4ygI/AAAAAAAAAAg/EOTepTR0OSs/s1600/formset.png>

By changing the widget from the default SelectMultiple 
to CheckboxSelectMultiple, the countries multi-select list becomes a set of 
checkboxes, one for each of ~200 countries!

We're wondering if there's an easy way to instead use an inline formset for 
the countries, so that each form instance is a Select widget for picking 
one country?

Thanks in advance,
Randal

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/3ae0bd25-4970-469b-84bd-e080c209d45c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to