J'ai un champ (slug) qui est "obligatoire" dans le modèle, mais je veux changer le champ dans la classe ModelAdmin pour qu'il soit optionnel. Si l'utilisateur ne le remplit pas, il est automatiquement rempli par un autre champ (name).
class SomeModel(model.Model):
name = model.CharField(max_length=255)
slug = model.SlugField(unique=True, max_length=255)
J'ai essayé de le faire de différentes manières, notamment en remplaçant get_form() dans ModelAdmin ou en utilisant la classe ModelForm et en spécifiant le formulaire de manière spécifique.
class SomeModelAdmin(admin.ModelAdmin):
def get_form(self, request, obj=None, **kwargs):
form = super(self.__class__, self).get_form(request, obj, **kwargs)
form.slug.required = False
return form
Cependant, aucune de ces deux solutions n'a fonctionné pour moi. Outre la création manuelle du formulaire, existe-t-il une autre solution plus rapide ?
J'ai beaucoup de ces formulaires, et le faire à la main pourrait être fastidieux et difficile à maintenir.