1
HostInfo
의 admin 디스플레이에 Hosts
모델의 ip_address
을 표시하고 싶습니다.django admin 관련 모델의 필드 표시
# models.py
class Hosts(models.Model):
host_name = models.CharField(max_length=200, unique=True)
ip_address = models.GenericIPAddressField(protocol='both', unpack_ipv4=True)
def __unicode__(self):
return unicode(self.host_name)
def hostip(self):
return unicode(self.ip_address)
와 나는 내가 꽤 나는이 목적을 달성하기 위해 필요한 것을 이해하고 있지 않다 admin.py
# admin.py
class HostInfoResource(resources.ModelResource):
host = fields.Field(column_name='host',
attribute='host',
widget=ForeignKeyWidget(Hosts, 'host_name'))
project = fields.Field(column_name='project',
attribute='project',
widget=ForeignKeyWidget(Project, 'project_name'))
env = fields.Field(column_name='env',
attribute='env',
widget=ForeignKeyWidget(Env, 'env_name'))
class Meta:
model = HostInfo
skip_unchanged = True
import_id_fields = ('id', 'host','ticket','deployed_by')
export_order = ('id', 'host', 'nexpose_level','cpus','memory','os',
'sudoers_copied', 'sudo_granted', 'extra_disks','app_type','app_name',
'vcenter_status','ticket','env','project','deployed_by',
'updated_on','created_on')
class HostInfoAdmin(ImportExportModelAdmin):
resource_class = HostInfoResource
list_display = ['id', 'host', 'nexpose_level','cpus','memory','os',
'sudoers_copied', 'sudo_granted', 'extra_disks','app_type','app_name',
'vcenter_status','ticket','env','project','deployed_by']
readonly_fields = ('updated_on','created_on',)
admin.site.register(HostInfo, HostInfoAdmin)
에서 아래 있습니다.
<클래스 'inventory.admin.HostInfoAdmin'> (admin.E108) 'list_display [1]'HostInfoAdmin '의 호출, 속성이 아닌'host__ip_address '를 의미하는 값 또는 'inventory.HostInfo'에 대한 속성 또는 메소드. –
도움이 될만한지 확인하십시오 http://stackoverflow.com/questions/32883057/foreign-key-reference-for-django-in-admin – Darshan
링크를 통해 필요한 답변을 얻을 수 있습니다. 고맙습니다. –