from django import forms from django.contrib import admin from .models import Composition, Ingredient, Recette, Unite @admin.register(Ingredient) class IngredientAdmin(admin.ModelAdmin): search_fields = ['nom'] class IngredientInline(admin.TabularInline): model = Recette.ingredients.through autocomplete_fields = ['ingredient'] class RecetteForm(forms.ModelForm): photo = forms.ImageField( label="Photo", widget=forms.ClearableFileInput(attrs={'capture': True, 'accept': "image/*"}), required=False ) photo_instr = forms.ImageField( label="Photo des instructions", widget=forms.ClearableFileInput(attrs={'capture': True, 'accept': "image/*"}), required=False ) class Meta: model = Recette fields = '__all__' @admin.register(Recette) class RecetteAdmin(admin.ModelAdmin): list_display = ['nom', 'has_photo', 'has_photo_instr'] form = RecetteForm inlines = [IngredientInline] def has_photo(self, obj): return bool(obj.photo) has_photo.short_description = "Avec photo" has_photo.boolean = True def has_photo_instr(self, obj): return bool(obj.photo_instr) has_photo_instr.short_description = "Avec photo instructions" has_photo_instr.boolean = True admin.site.register(Composition) admin.site.register(Unite)