One can easily set the initial value for Django Admin Add Form, via url get parameter. For example: http://localhost:8080/admin/myapp/mytable/?myfield_id=1
This will not work if myfield is within the inline form, instead of regular form. To do that, override admin.TabularInline formfield_for_foreignkey method.
Here is an example:
class MyTabInline(admin.TabularInline): model = models.MyModel extra = 1 def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'myfield': kwargs['initial'] = request.GET.get('myfield_id', '') return super(MyTabInline, self). formfield_for_foreignkey(db_field, request, **kwargs)Pretty simple.