To może być proste pytanie, ale nie mogę tego zrozumieć.Django: wyświetl listę wielu elementów w interfejsie administratora
Mam dwa proste modele w models.py: Service and Host. Host.services ma relację m2m z usługą. Innymi słowy, host ma kilka usług i jedna usługa może znajdować się na wielu hostach; podstawowe m2m.
models.py
class Service(models.Model):
servicename = models.CharField(max_length=50)
def __unicode__(self):
return self.servicename
class Admin:
pass
class Host(models.Model):
#...
hostname = models.CharField(max_length=200)
services = models.ManyToManyField(Service)
#...
def get_services(self):
return self.services.all()
def __unicode__(self):
return self.hostname
class Admin:
pass
admin.py
from cmdb.hosts.models import Host
from django.contrib import admin
class HostAdmin(admin.ModelAdmin):
list_display = ('get_services',)
admin.site.register(Host, HostAdmin)
Teraz kiedy otworzyć stronę, na której wszystkie kolumny przez przyjmującego są wymienione w kolumnie 'usługa' wyświetla wyjście jak:
Uzyskaj usługi
[<Service: the_service-1>, <Service: the_service-2>]
Zamiast:
Usługi
the_service-1
the_service-2 itp
Co robię źle? Dziękuję za przeczytanie mojego pytania.
Zaktualizowałem moją odpowiedź. –