Просмотр исходного кода

14953 fix serializers when using add_related_count (#16158)

* 14953 fix serializers when using add_related_count

* 14953 update comments

* Set default=0 for annotated count fields

---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
Arthur Hanson 1 год назад
Родитель
Сommit
97a37576fc

+ 4 - 4
netbox/dcim/api/serializers_/sites.py

@@ -21,7 +21,7 @@ __all__ = (
 class RegionSerializer(NestedGroupModelSerializer):
     url = serializers.HyperlinkedIdentityField(view_name='dcim-api:region-detail')
     parent = NestedRegionSerializer(required=False, allow_null=True, default=None)
-    site_count = serializers.IntegerField(read_only=True)
+    site_count = serializers.IntegerField(read_only=True, default=0)
 
     class Meta:
         model = Region
@@ -35,7 +35,7 @@ class RegionSerializer(NestedGroupModelSerializer):
 class SiteGroupSerializer(NestedGroupModelSerializer):
     url = serializers.HyperlinkedIdentityField(view_name='dcim-api:sitegroup-detail')
     parent = NestedSiteGroupSerializer(required=False, allow_null=True, default=None)
-    site_count = serializers.IntegerField(read_only=True)
+    site_count = serializers.IntegerField(read_only=True, default=0)
 
     class Meta:
         model = SiteGroup
@@ -86,8 +86,8 @@ class LocationSerializer(NestedGroupModelSerializer):
     parent = NestedLocationSerializer(required=False, allow_null=True, default=None)
     status = ChoiceField(choices=LocationStatusChoices, required=False)
     tenant = TenantSerializer(nested=True, required=False, allow_null=True)
-    rack_count = serializers.IntegerField(read_only=True)
-    device_count = serializers.IntegerField(read_only=True)
+    rack_count = serializers.IntegerField(read_only=True, default=0)
+    device_count = serializers.IntegerField(read_only=True, default=0)
 
     class Meta:
         model = Location

+ 1 - 1
netbox/tenancy/api/serializers_/contacts.py

@@ -21,7 +21,7 @@ __all__ = (
 class ContactGroupSerializer(NestedGroupModelSerializer):
     url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:contactgroup-detail')
     parent = NestedContactGroupSerializer(required=False, allow_null=True, default=None)
-    contact_count = serializers.IntegerField(read_only=True)
+    contact_count = serializers.IntegerField(read_only=True, default=0)
 
     class Meta:
         model = ContactGroup

+ 1 - 1
netbox/tenancy/api/serializers_/tenants.py

@@ -14,7 +14,7 @@ __all__ = (
 class TenantGroupSerializer(NestedGroupModelSerializer):
     url = serializers.HyperlinkedIdentityField(view_name='tenancy-api:tenantgroup-detail')
     parent = NestedTenantGroupSerializer(required=False, allow_null=True)
-    tenant_count = serializers.IntegerField(read_only=True)
+    tenant_count = serializers.IntegerField(read_only=True, default=0)
 
     class Meta:
         model = TenantGroup

+ 1 - 1
netbox/wireless/api/serializers_/wirelesslans.py

@@ -17,7 +17,7 @@ __all__ = (
 class WirelessLANGroupSerializer(NestedGroupModelSerializer):
     url = serializers.HyperlinkedIdentityField(view_name='wireless-api:wirelesslangroup-detail')
     parent = NestedWirelessLANGroupSerializer(required=False, allow_null=True, default=None)
-    wirelesslan_count = serializers.IntegerField(read_only=True)
+    wirelesslan_count = serializers.IntegerField(read_only=True, default=0)
 
     class Meta:
         model = WirelessLANGroup