Вы можете ссылаться на другие модели по имени (используя строку, включая
пакет), а не непосредственно классом:
Итак, если ваш Employee класс находится в hr приложении:
class Employee(models.model):
other_employee = models.ForeignKey('hr.models.Employee', null=True, blank=True)
Ответ 4
Принудительное принуждение id и ref_employee_id к отдельным значениям выходит за рамки Django ORM. Вам нужно будет добавить указанное ограничение на уровне базы данных, используя SQL в syncdb или вручную.