mirror of
https://github.com/django/django.git
synced 2024-12-22 17:16:24 +00:00
03d0f12c82
In MTI or ForeignKey as primary key cases, it is required to fetch the attname from the field instance on the remote model in order to reliably resolve the to_field_name. Co-authored-by: Johannes Maron <info@johanneshoppe.com> Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com> Co-authored-by: Carlton Gibson <carlton.gibson@noumenal.es>
62 lines
1.4 KiB
Python
62 lines
1.4 KiB
Python
from django.contrib import admin
|
|
|
|
from .models import (
|
|
Advisor, Album, Band, Bee, Car, CarTire, Event, Inventory, Member, Profile,
|
|
ReleaseEvent, School, User, VideoStream,
|
|
)
|
|
|
|
|
|
class WidgetAdmin(admin.AdminSite):
|
|
pass
|
|
|
|
|
|
class CarAdmin(admin.ModelAdmin):
|
|
list_display = ['make', 'model', 'owner']
|
|
list_editable = ['owner']
|
|
|
|
|
|
class CarTireAdmin(admin.ModelAdmin):
|
|
def formfield_for_foreignkey(self, db_field, request, **kwargs):
|
|
if db_field.name == "car":
|
|
kwargs["queryset"] = Car.objects.filter(owner=request.user)
|
|
return db_field.formfield(**kwargs)
|
|
return super().formfield_for_foreignkey(db_field, request, **kwargs)
|
|
|
|
|
|
class EventAdmin(admin.ModelAdmin):
|
|
raw_id_fields = ['main_band', 'supporting_bands']
|
|
|
|
|
|
class AlbumAdmin(admin.ModelAdmin):
|
|
fields = ('name', 'cover_art',)
|
|
readonly_fields = ('cover_art',)
|
|
|
|
|
|
class SchoolAdmin(admin.ModelAdmin):
|
|
filter_vertical = ('students',)
|
|
filter_horizontal = ('alumni',)
|
|
|
|
|
|
site = WidgetAdmin(name='widget-admin')
|
|
|
|
site.register(User)
|
|
site.register(Car, CarAdmin)
|
|
site.register(CarTire, CarTireAdmin)
|
|
|
|
site.register(Member)
|
|
site.register(Band)
|
|
site.register(Event, EventAdmin)
|
|
site.register(Album, AlbumAdmin)
|
|
site.register(ReleaseEvent, search_fields=['name'])
|
|
site.register(VideoStream, autocomplete_fields=['release_event'])
|
|
|
|
site.register(Inventory)
|
|
|
|
site.register(Bee)
|
|
|
|
site.register(Advisor)
|
|
|
|
site.register(School, SchoolAdmin)
|
|
|
|
site.register(Profile)
|