Если вы хотите sh отобразить результат на странице списка ,
class CountryAdmin(admin.ModelAdmin):
list_display = ('id', 'country_name', <b>'states_count'</b>)
<b>def states_count(self, instance):
return instance.get_num_states()</b>
admin.site.register(Country, CountryAdmin)
Update-1
, чтобы получить значение метода в Для просмотра деталей / изменений вам необходимо создать форму модели и связать ее в django admin
<b>class MyModelForm(forms.ModelForm):
states_count = forms.IntegerField(disabled=True)
class Meta:
model = Country
fields = ('country_name', 'states_count')
def get_initial_for_field(self, field, field_name):
if field_name == 'rating':
if self.instance:
return self.instance.get_num_states()
return None
return super().get_initial_for_field(field, field_name)</b>
class CountryAdmin(admin.ModelAdmin):
<b>form = MyModelForm</b>
admin.site.register(Country, CountryAdmin)