У меня есть небольшой фрагмент кода:
for prop in Property.objects.all():
for platform_device in prop.platformdevice_set.all():
if platform_device.platform == cur_platform:
if platform_device.applicable_devices.filter(name=cur_device).exists():
if platform_device.applicable_events.filter(name=cur_event).exists():
print("Found my correct even and need to continue processing.")
else:
for group in platform_device.event_group.all():
if group.applicable_events.filter(name=cur_event).exists():
print("Found my correct even and need to continue processing.")
Это немного беспорядочно, но пока работает. Я застрял в этой части:
if platform_device.applicable_events.filter(name=cur_event).exists():
print("Found my correct even and need to continue processing.")
else:
for group in platform_device.event_group.all():
if group.applicable_events.filter(name=cur_event).exists():
print("Found my correct even and need to continue processing.")
По сути, я проверяю platform_device.applicable_events
, чтобы проверить, содержится ли внутри него мой cur_event. Если это так, то мне нужно продолжить обработку с этой точки.
Else
Я собираюсь просмотреть event_group (который представляет собой просто группировку событий) и проверить, находится ли cur_event внутри одна из этих групп, а затем продолжить обработку.
Мой вопрос в том, как я могу сделать так, чтобы оба эти направления оказались в одном месте. Я просто пытаюсь предотвратить использование одного и того же кода в обоих этих местах.