diff --git a/hb_server/apps/hrm/apps.py b/hb_server/apps/hrm/apps.py index 6ed9897..d2dc3ce 100644 --- a/hb_server/apps/hrm/apps.py +++ b/hb_server/apps/hrm/apps.py @@ -4,4 +4,6 @@ class SystemConfig(AppConfig): name = 'apps.hrm' verbose_name = '人力资源管理' + def ready(self): + import apps.hrm.signals diff --git a/hb_server/apps/hrm/signals.py b/hb_server/apps/hrm/signals.py new file mode 100644 index 0000000..a2a7312 --- /dev/null +++ b/hb_server/apps/hrm/signals.py @@ -0,0 +1,9 @@ +from django.db.models.signals import post_save +from apps.system.models import User +from django.dispatch import receiver +from apps.hrm.models import Employee + +@receiver(post_save, sender=User) +def createEmployee(sender, instance, created, **kwargs): + if created: + Employee.objects.get_or_create(user=instance) \ No newline at end of file diff --git a/hb_server/apps/system/serializers.py b/hb_server/apps/system/serializers.py index b3feb82..576be89 100644 --- a/hb_server/apps/system/serializers.py +++ b/hb_server/apps/system/serializers.py @@ -144,6 +144,11 @@ class UserListSerializer(serializers.ModelSerializer): queryset = queryset.select_related('superior','dept') queryset = queryset.prefetch_related('roles',) return queryset + + def get_field_names(self, declared_fields, info): + if hasattr(self.Meta.model, 'employee_user'): + self.Meta.fields.append('employee_user') + return super().get_field_names(declared_fields, info) class UserModifySerializer(serializers.ModelSerializer): """