Changing a SWEP's world model

I’ve tried using SetModel and simply setting the WorldModel variable on the SWEP class after it has spawned, but neither of those seem to change the world model.

Is there a way to change the world model of a SWEP after it’s been spawned?

I’ve tried changing the world model during initialization (SWEP:Initialize()), but it still comes out as an HL2 revolver. Changing the view model works fine, though.

Why after you have spawned it?

What exactly are you trying to accomplish here? Setting the world model of a single swep, getting all the weapons on the map and changing their models? What?