0

I'm not experience with python or django before. but I just started to create new custom plugin for NetBox using django

the plugin works well but I still struggle with search function. I can search if the values are text. but if the value is an object, it not able to search

in the postgresql, the table I've created with member show as member_id that refer to ipam_ipaddress(id)

models

class memberlist(NetBoxModel)
    member = models.ForeignKey(
        to='ipam.IPAddress',
        related_name='member',
        verbose_name='Member IP Address',
        on_delete=models.PROTECT
    )

filtersets

class memberlistFilterSet(django_filters.FilterSet):
    q = django_filters.CharFilter(
        method="search",
        label="Search",
    )

    class Meta:
        model = memberlist
        fields = [
            'name',
            'member',
        ]

    def search(self, queryset, name, value):
        if not value.strip():
            return queryset

        qs_filter = (
            Q(name__icontains=value)
            |Q(member_icontains=value)
        )

        return queryset.filter(qs_filter)

Please help!!

I want to search by name or member value that references to IPAddress model in NetBox

I've tried many method but it didn't work e.g.

member = IPAddress.objects.filter(address__contains=)

nexyr
  • 96
  • 1
  • 1
  • 6

0 Answers0