Seite 1 von 1

Django ModelAdmin list_display Fehler bei ForeignKey

Verfasst: Sonntag 15. November 2020, 15:52
von pythoner
Hallo,

ich habe ein model Result

Code: Alles auswählen

class Result(models.Model):
    distance_id = models.ForeignKey(Distance, on_delete=models.CASCADE)
Jetzt möchte ich in Admin Bereich die Daten z.B. von Distance das Fehl "name" anzeigen lassen, bekomme aber die Fehlermeldung:
'Result' object has no attribute 'distances'

Was ist an der Funktion get_distance_name falsch?

Code: Alles auswählen

from django.contrib import admin
from .models import Result
class ResultAdmin(admin.ModelAdmin):
    list_display = ('result_value','get_distance_name')

    def get_distance_name(self, obj):
        return obj.distances.name
    get_distance_name.short_description = 'Distance Name'

admin.site.register(Result,ResultAdmin)
Der ganze Code ist in meinem Gibhub Projekt zu sehen:
https://github.com/ad-software/running_ ... s/admin.py

Re: Django ModelAdmin list_display Fehler bei ForeignKey

Verfasst: Dienstag 17. November 2020, 06:58
von Bolitho
Hast du wahrscheinlich schon gefunden....

distance_id statt distances

Code: Alles auswählen

from django.contrib import admin
from .models import Result
class ResultAdmin(admin.ModelAdmin):
    list_display = ('result_value','get_distance_name')

    def get_distance_name(self, obj):
        return obj.distance_id.name
    get_distance_name.short_description = 'Distance Name'

admin.site.register(Result,ResultAdmin)

Re: Django ModelAdmin list_display Fehler bei ForeignKey

Verfasst: Mittwoch 18. November 2020, 21:24
von pythoner
Danke schön, auf die Variante bin ich nicht gekommen.