from django.contrib import admin from django import forms from .models import Fournisseur, Technicien, Machine, Intervention, Panne @admin.register(Fournisseur) class FournisseurAdmin(admin.ModelAdmin): list_display = ['nom_fournisseur'] @admin.register(Technicien) class TechnicienAdmin(admin.ModelAdmin): list_display = ['nom_technicien', 'ref_fournisseur'] class PanneInline(admin.TabularInline): model = Panne extra = 1 @admin.register(Machine) class MachineAdmin(admin.ModelAdmin): list_display = ['numero_serie', 'nom_machine', 'ref_fournisseur'] inlines = [PanneInline] class InterventionAdminForm(forms.ModelForm): class Meta: model = Intervention fields = '__all__' def __init__(self, *args, **kwargs): super(InterventionAdminForm, self).__init__(*args, **kwargs) if self.instance: try: technicians = Technicien.objects.filter( ref_fournisseur=self. instance. ref_panne. ref_machine. ref_fournisseur) self.fields['ref_technicien'].queryset = technicians except Panne.DoesNotExist: self.fields['ref_technicien'].queryset = Technicien. \ objects. \ none() @admin.register(Intervention) class InterventionAdmin(admin.ModelAdmin): form = InterventionAdminForm list_display = ['moment_intervention', 'description_intervention', 'ref_panne', 'ref_technicien'] @admin.register(Panne) class PanneAdmin(admin.ModelAdmin): list_display = ['moment_panne', 'description_panne', 'ref_machine']