From 015f3d553712e01c33cb9ad6f0cac602436d03da Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 16 Aug 2021 10:34:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=97=B6=E5=88=9B=E5=BB=BAemployee?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/hrm/apps.py | 2 ++ hb_server/apps/hrm/signals.py | 9 +++++++++ hb_server/apps/system/serializers.py | 5 +++++ 3 files changed, 16 insertions(+) create mode 100644 hb_server/apps/hrm/signals.py 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): """