Они должны быть точно тем же. Однако как практика кодирования, я видел бы Соединение. Это ясно ясно формулирует Ваше намерение,
Мне действительно удалось воспроизвести эти зеленые кнопки в своих формах, следуя инструкциям на этой странице: http://www.hoboes.com/Mimsy/hacks/replicating-djangos -admin /
Стандартная ModelForm будет делать почти все то, что делает администратор (ForeignKeys превратится в выпадающий список, ManyToManyFields превратится в множественный выбор).
Основным исключением будет маленькие зеленые кнопки с плюсом для добавления новой записи. Было бы довольно сложно сделать их общими, поскольку они зависят от ряда специфических для администратора вещей: знания, где найти страницу добавления для связанной модели; JS, чтобы открыть окно, закрыть его при отправке и обновить родительскую страницу; и т. д. Вы можете покопаться в админке и выяснить, как она реализует эти дополнительные тонкости, но не будет простого способа добавить их в свой код.
Другая тонкость, которую вы, возможно, захотите, - это filter_horizontal или filter_vertical альтернативные пользовательские интерфейсы для ManyToManyField. Они реализованы как виджеты обычной формы ,