Может ли «list_display» в Django ModelAdmin отображать атрибуты полей ForeignKey?
Несмотря на все замечательные django-models ответы выше и из-за того, что modeladmin я новичок в Django, я все modeladmin еще застрял. Вот мое объяснение python-shell с точки зрения новичка.
models.py
class Author(models.Model):
name = models.CharField(max_length=255)
class Book(models.Model):
author = models.ForeignKey(Author)
title = models.CharField(max_length=255)
admin.py (Неверный способ) - вы django-models думаете, что это сработает, если django-models использовать для ссылки 'model__field', но pythonista это не так
class BookAdmin(admin.ModelAdmin):
model = Book
list_display = ['title', 'author__name', ]
admin.site.register(Book, BookAdmin)
admin.py (правильный способ) - так вы ссылаетесь pythonic на имя внешнего ключа способом pythonista Django
class BookAdmin(admin.ModelAdmin):
model = Book
list_display = ['title', 'get_name', ]
def get_name(self, obj):
return obj.author.name
get_name.admin_order_field = 'author' #Allows column order sorting
get_name.short_description = 'Author Name' #Renames column head
#Filtering on side - for some reason, this works
#list_filter = ['title', 'author__name']
admin.site.register(Book, BookAdmin)
Для получения дополнительной django-fields информации см. ссылку на python-interpreter модель Django here
python
django
django-models
django-admin
modeladmin
Может ли «list_display» в Django ModelAdmin отображать атрибуты полей ForeignKey?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.