@@ -702,7 +702,7 @@ def get_through_model(self, field, model=None):
702
702
)
703
703
704
704
# Use the actual model if provided, otherwise use string reference
705
- source_model = model if model else "netbox_custom_objects.CustomObject"
705
+ source_model = model
706
706
707
707
attrs = {
708
708
"__module__" : "netbox_custom_objects.models" ,
@@ -715,7 +715,7 @@ def get_through_model(self, field, model=None):
715
715
db_column = "source_id" ,
716
716
),
717
717
"target" : models .ForeignKey (
718
- "self" if is_self_referential else "netbox_custom_objects.CustomObject" ,
718
+ "self" if is_self_referential else model ,
719
719
on_delete = models .CASCADE ,
720
720
related_name = "+" ,
721
721
db_column = "target_id" ,
@@ -745,11 +745,13 @@ def get_model_field(self, field, **kwargs):
745
745
746
746
# For now, we'll create the through model with string references
747
747
# and resolve them later in after_model_generation
748
- through = self .get_through_model (field )
748
+ # TODO: Check whether later resolution of the model is actually necessary or can be passed as string
749
+ model_string = f"{ field .related_object_type .app_label } .{ field .related_object_type .model } "
750
+ through = self .get_through_model (field , model_string )
749
751
750
752
# For self-referential fields, use 'self' as the target
751
753
m2m_field = CustomManyToManyField (
752
- to = "self" if is_self_referential else "netbox_custom_objects.CustomObject" ,
754
+ to = "self" if is_self_referential else model_string ,
753
755
through = through ,
754
756
through_fields = ("source" , "target" ),
755
757
blank = True ,
0 commit comments