Начиная с Django 1.5, это работает для повторного использования ForeignKeyRawIdWidget в формах без прав администратора.
from django.contrib.admin.sites import site
class InvoiceForm(ModelForm):
class Meta:
model = Invoice
widgets = {
'customer': ForeignKeyRawIdWidget(Invoice._meta.get_field('customer').rel, site),
}
Обновление
Django 2.0 устарел field.rel
в пользу field.remote_field
. Вы можете использовать это вместо этого (также работает на Django 1.11):
...
ForeignKeyRawIdWidget(Invoice._meta.get_field('customer').remote_field, site),
...