recettes/recette/admin.py

55 lines
1.4 KiB
Python

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={'accept': "image/*"}),
required=False
)
photo_instr = forms.ImageField(
label="Photo des instructions",
widget=forms.ClearableFileInput(attrs={'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']
search_fields = ['nom']
form = RecetteForm
save_on_top = True
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)