For starters, there's an argument for the FieldList called min_entries, that will make space for your data: class CompanyForm(Form): company_name = StringField('company_name') locations = FieldList(FormField(LocationForm), min_entries=2) This will setup the list the way you need. Next you should render the fields directly from the locations property, so names are generated...