Например есть
TYPE = (
('pr',u'Производитель'),
('pos',u'Поставщик'),
('pok',u'Покупатель'),
)
class Someclass(models.Model):
type = models.CharField(max_length = 50, choices = TYPE)
name = models.CharField(max_length = 50)
x = models.xfield(Someclass)
«Производитель» «Пупкин Inc» «»
«Поставщик» «Сумкин C.C.» «Пупкин Inc»
«Покупатель» «Петров П.К.» «Сумкин С.С.»
«Покупатель» «Иванов К.А.» «Сумкин С.С.»
«Покупатель» «Семенов К.П.» «Пупкин Inc»
В общем цель такая — чтобы была одна таблица, и для переменной x выполнялся что-то типа ForeignKey на эту же таблицу.