- Extend the ClubMembership model with `club`, `member`, and optional `license` fields, along with relevant constraints and ordering. - Implement verbose names for Club and ClubMembership models and update admin configurations for better display and filtering. - Add a `import_members_csv` management command for batch importing members, clubs, and memberships from a CSV file. - Include extensive tests for the `import_members_csv` command, ClubMembership model, and Club model. - Refactor related migrations, services, and test structure.
25 lines
733 B
Python
25 lines
733 B
Python
from django.contrib import admin
|
|
from django.utils.translation import gettext_lazy as _
|
|
|
|
from .models import Club, ClubMembership
|
|
|
|
|
|
# Register your models here.
|
|
@admin.register(Club)
|
|
class ClubAdmin(admin.ModelAdmin):
|
|
list_display = ["name"]
|
|
search_fields = ["name"]
|
|
ordering = ["name"]
|
|
|
|
|
|
@admin.register(ClubMembership)
|
|
class ClubMembershipAdmin(admin.ModelAdmin):
|
|
list_display = ["club__name", "member__last_name", "member__first_name", "license"]
|
|
search_fields = ["club__name", "member__last_name", "member__first_name"]
|
|
list_filter = ["club"]
|
|
raw_id_fields = ["member"]
|
|
fieldsets = [
|
|
[None, {"fields": ["club", "member"]}],
|
|
[_("Member informaton"), {"fields": ["license"]}],
|
|
]
|