Desidero disabilitare i pochi campi dal modello in admin di django, salvando inizialmente.rendere il campo modello django di sola lettura o disabilitarlo in admin mentre si salva l'oggetto per la prima volta
"<input type="text" id="disabledTextInput" class="form-control" placeholder="Disabled input">"
come questo.
Il mio modello è:
class Blogmodel(models.Model):
tag = models.ForeignKey(Tag)
headline = models.CharField(max_length=255)
image=models.ImageField(upload_to=get_photo_storage_path, null=True, blank=False)
body_text = models.TextField()
pub_date = models.DateField()
authors = models.ForeignKey(Author)
n_comments = models.IntegerField()
Voglio disattivare il "titolo" e "n_comments". l'ho provato nel file admin.py, ma non disabilita i campi sul salvataggio iniziale. Ma per la modifica dei campi funziona, rendendo i campi di sola lettura.
in admin.py
class ItemAdmin(admin.ModelAdmin):
exclude=("headline ",)
def get_readonly_fields(self, request, obj=None):
if obj:
return ['headline ']
else:
return []
headling ottenendo disabili, ma solo per modifica. Voglio disabilitarlo al momento della creazione dell'oggetto. vale a dire prima salva. qualcuno può guidarmi per questo?
Perché non utilizzi invece la proprietà readonly_fields? – GwynBleidD
funzionerà per la modifica degli oggetti non per la creazione dell'oggetto per la prima volta. – Gaurav
Funzionerà per entrambi se non si sovrascrive 'get_readonly_fields'. – GwynBleidD