2009-10-12 226 views
0

显示模型属性我有使用GeoIP的库来渲染的IP地址该记录的国家的典范:从Django中对管理员

class PageIP(models.Model): 
    """ 
    Detail of page 
    """ 
    ip_address = models.IPAddressField(blank=True,verbose_name="IP Address") 


    def _client_country(self): 
     g = GeoIP() 
     return g.country(self.ip_address) 

    client_country = property(_client_country) 

有什么办法,以显示在此属性(client_country) Django 1.1管理员?正如目前所写,这不会出现在管理员。

干杯。

+0

Django在这里说:http://docs.djangoproject.com/en/dev/ref/models/fields/#ipaddressfield管理员表示这是一个(单行输入)。所以它应该肯定会出现 – 0100110010101 2009-10-12 18:40:52

回答

0

你应该把它放到admin.py文件:

from django.contrib import admin 
admin.site.register(PageIP) 

,它很快就会出现在那里。 另外,请确保您的应用程序在settings.py下INSTALLED_APPS

+0

模型在那里,就像字段ip_address一样。 我需要在管理员client_country虽然。 – 2009-10-12 18:44:34

+0

为什么不试试__str __(self)?因为写入你应该添加一个setter,而不仅仅是getter。 – 0100110010101 2009-10-12 19:03:52

+0

伟大的想法 - 这是如此明显,我没有想到它。不过,我会使用__unicode __(self)。 – 2009-10-14 14:00:35