Return an ``InlineFormSet`` for the given kwargs. ``fk_name`` must be provided if ``model`` has more than one ``ForeignKey`` to ``parent_model``.
(
parent_model,
model,
form=ModelForm,
formset=BaseInlineFormSet,
fk_name=None,
fields=None,
exclude=None,
extra=3,
can_order=False,
can_delete=True,
max_num=None,
formfield_callback=None,
widgets=None,
validate_max=False,
localized_fields=None,
labels=None,
help_texts=None,
error_messages=None,
min_num=None,
validate_min=False,
field_classes=None,
absolute_max=None,
can_delete_extra=True,
renderer=None,
edit_only=False,
)
| 1305 | |
| 1306 | |
| 1307 | def inlineformset_factory( |
| 1308 | parent_model, |
| 1309 | model, |
| 1310 | form=ModelForm, |
| 1311 | formset=BaseInlineFormSet, |
| 1312 | fk_name=None, |
| 1313 | fields=None, |
| 1314 | exclude=None, |
| 1315 | extra=3, |
| 1316 | can_order=False, |
| 1317 | can_delete=True, |
| 1318 | max_num=None, |
| 1319 | formfield_callback=None, |
| 1320 | widgets=None, |
| 1321 | validate_max=False, |
| 1322 | localized_fields=None, |
| 1323 | labels=None, |
| 1324 | help_texts=None, |
| 1325 | error_messages=None, |
| 1326 | min_num=None, |
| 1327 | validate_min=False, |
| 1328 | field_classes=None, |
| 1329 | absolute_max=None, |
| 1330 | can_delete_extra=True, |
| 1331 | renderer=None, |
| 1332 | edit_only=False, |
| 1333 | ): |
| 1334 | """ |
| 1335 | Return an ``InlineFormSet`` for the given kwargs. |
| 1336 | |
| 1337 | ``fk_name`` must be provided if ``model`` has more than one ``ForeignKey`` |
| 1338 | to ``parent_model``. |
| 1339 | """ |
| 1340 | fk = _get_foreign_key(parent_model, model, fk_name=fk_name) |
| 1341 | # enforce a max_num=1 when the foreign key to the parent model is unique. |
| 1342 | if fk.unique: |
| 1343 | max_num = 1 |
| 1344 | kwargs = { |
| 1345 | "form": form, |
| 1346 | "formfield_callback": formfield_callback, |
| 1347 | "formset": formset, |
| 1348 | "extra": extra, |
| 1349 | "can_delete": can_delete, |
| 1350 | "can_order": can_order, |
| 1351 | "fields": fields, |
| 1352 | "exclude": exclude, |
| 1353 | "min_num": min_num, |
| 1354 | "max_num": max_num, |
| 1355 | "widgets": widgets, |
| 1356 | "validate_min": validate_min, |
| 1357 | "validate_max": validate_max, |
| 1358 | "localized_fields": localized_fields, |
| 1359 | "labels": labels, |
| 1360 | "help_texts": help_texts, |
| 1361 | "error_messages": error_messages, |
| 1362 | "field_classes": field_classes, |
| 1363 | "absolute_max": absolute_max, |
| 1364 | "can_delete_extra": can_delete_extra, |