Проще всего было бы переопределить метод formfield_for_foreignkey
в ModelAdmin
для Device
, что-то вроде
def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == 'node':
kwargs['queryset'] = Node.objects.order_by('name')
return super(DeviceAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
(я предполагаю, что изрядное количествоздесь. Надеюсь, это понятно!)
Точно так же есть formfield_for_manytomany
.