diff --git a/devapp/models.py b/devapp/models.py index 210047d..dd75d53 100644 --- a/devapp/models.py +++ b/devapp/models.py @@ -88,7 +88,7 @@ class Device(models.Model): def update_dhcp(self): from .onu_register import onu_register - onu_register(self.objects.exclude(group=None).iterator()) + onu_register(Device.objects.exclude(group=None).select_related('group').only('mac_addr', 'group__code').iterator()) def generate_config_template(self) -> Optional[AnyStr]: mng = self.get_manager_object() diff --git a/devapp/onu_register.py b/devapp/onu_register.py index 0ab6ec6..71b3f60 100644 --- a/devapp/onu_register.py +++ b/devapp/onu_register.py @@ -6,7 +6,7 @@ from subprocess import run def onu_register(devices: Iterable): with open('/etc/dhcp/macs.conf', 'w') as f: for dev in devices: - if dev.has_attachable_to_subscriber(): + if dev.has_attachable_to_subscriber() and dev.mac_addr is not None: f.write('subclass "%(code)s" "%(mac)s";\n' % { 'code': dev.group.code, 'mac': dev.mac_addr