Django ModelAdmin - des balises html fieldsets ... champ "date" manquant à partir de la forme
J'ai compris quel était le problème lors de l'écriture de cette question. Je poste quand même au cas où ça pourrait aider quelqu'un d'autre.
L'erreur: "FooAdmin.des balises html fieldsets[0][1]['champs']' se réfère à un champ 'date' qui est absent de la forme.
Avec le code suivant:
# models.py
from django.db import models
class Foo(Base):
date = models.DateField(auto_now_add=True)
title = models.CharField(max_length=255)
# admin.py
from django.contrib import admin
class FooAdmin(BaseAdmin):
list_display = ("title", "date")
fieldsets = (
(None, {
"fields": ("date", "title")
}),
)
admin.site.register(Foo, FooAdmin)
- Merci de poster même si vous avez résolu votre problème, je suis tombé sur cette même question, plus tôt cette semaine.
- pouvez-vous supprimer la réponse de la question du corps, et de le publier séparément? Un Débordement de pile réguliers (comme moi), il est plus facile de savoir répondre à cette question, et alors nous pouvons upvote votre réponse. Merci de contribuer à ce site!
- La droite! Désolé.
Vous devez vous connecter pour publier un commentaire.
L'erreur est due à la date de l'avoir
auto_now_add=True
(ouauto_now=True
).Plus la valeur est automatique, il n'est pas modifiable, il n'est donc pas dans la forme. Pour résoudre cela, il faut ajouter ceci dans
FooAdmin
:Mon problème était en réalité un peu différente. Mon problème, le modèle de l'héritage et de la django.contrib.Utilisateur admin modèle.
Ce qui a causé le problème:
où "l'agence" et "société" sont des champs de mon modèle d'Utilisateur qui s'étend de django reinhardt, le modèle utilisateur. Votre solution de mettre les champs dans readonly_fields n'corriger l'erreur, mais ensuite ces champs sont en lecture seule, ce qui n'est pas ce que je voulais. J'ai trouvé que le problème était que le ModelForm utilisé dans django.contrib.admin a été fixant le modèle de Django utilisateur du modèle. Donc, pour le fixer, j'ai ajouté ceci:
C'est ce que j'obtiens à l'aide d'un Modèle d'héritage... il n'est pas assez, mais il fait le travail.
Il semble donc qu'il nous avons été faire la même erreur, mais pour des raisons différentes.
Il peut également aider certaines personnes à savoir l'erreur s'affiche lorsqu'il existe incorrecte des balises html fieldsets dans le ModelAdmin, ...comme quand on fait des migrations et de l'oubli pour supprimer retiré des champs....