J'ai une forme de modèle et j'ai besoin que l'un des champs soit lu seulement jusqu'à ce qu'il soit sauvegardé. Je n'ai pas trouvé un bon moyen de le faire, et voici ce que j'ai dans mon admin.py.Dans Django, comment puis-je lire un champ uniquement la première fois qu'un formulaire est chargé?
class RequestForm(forms.ModelForm):
trac = forms.URLField(min_length=400, required=False)
impacted_users = forms.ModelMultipleChoiceField(queryset=Group.objects.all(), widget=forms.CheckboxSelectMultiple)
formfield_overrides = {
}
class Meta:
model = Request
class RequestAdmin(admin.ModelAdmin):
form = RequestForm
list_display = ['id', 'title', 'priority', 'requestor', 'status']
list_filter = ['requestor', 'priority', 'impacted_users']
actions = [complete]
class Media:
js = (
'/media/js/jquery.js',
'/media/js/hide.js',
)
def save_model(self, request, obj, form, change):
instance = form.save(commit=False)
instance.requestor = request.user
instance.save()
form.save_m2m()
return instance
Je n'ai pas encore implémenté de vues, j'espérais pouvoir le faire dans l'admin, car ce seront principalement les administrateurs qui le verront. On dirait qu'il est temps de laisser l'administrateur derrière :) – Ryan