Here's a guide on writing a custom model field:
http://docs.jezdez.com/howto/custom-model-fields.html . My guess is you'll actually need 2 real fields in the DB, with one psuedofield similar to the generic foreign key that actually handles combining those 2 into a real item.
Alex
--
"I disapprove of what you say, but I will defend to the death your right to say it." --Voltaire
"The people's good is the highest law."--Cicero