Django admin site callable attrs кажется не работает с python regex
Я добавляю дополнительную колонку на сайт Django.admin, согласно документу, это должно работать, но как только я ввел пакет re
в эту функцию, все пошло не так.
Вот пример кода:
class InfoAddrAdmin(ModelAdmin):
list_display = ('id', 'machineId', 'uptime', 'repath')
list_filter = ('machineId',)
def repath(self, obj):
res = re.search(r"10\.1\d+\.\d+\.\d+", obj.ipaddr)
return res.group()<-Exception comes from here
а соответствующая Модель определяется как:
class RemoteAddress(models.Model):
id = models.AutoField(primary_key=True)
machineId = models.CharField(max_length=32)
uptime = models.DateTimeField(default=now)
ipaddr = models.TextField()
кусок текста с большим количеством IP адресов (т.е. результат команды ipconfig
) хранится в ipaddr
attr, и этот regex ищет IP с префиксом типа '10.1xx.xxx.xxx', который работает нормально.
и основная ошибка заключается в следующем:
AttributeError: 'NoneType' object has no attribute 'group'
Вы можете найти некоторую информацию на сайте https://docs.djangoproject.com/en/3.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display