Yakagadziriswa: django admin otomatiki yekuvandudza zuva munda

Dambudziko guru nderekuti iyo auto update date field haina kubatwa nemazvo naDjango. Kana iwe ukaedza kugadzirisa iyo zuva uchishandisa iyo admin interface, Django inongogadzirisa ese maminda ari patafura ine zita rimwechete, kusanganisira iyo auto update date field. Izvi zvinogona kutungamira kune zvisingatarisirwi uye zvingangove zvisirizvo shanduko kune yako data.

I have a model with a date field. I want to automatically update the date field when an object is created or edited in the admin panel. How can I do this?


A:

You can override <code>save_model</code> method of your admin class and set the value of <code>date</code> field to <code>datetime.now()</code>. 
<blockquote>
<p><strong><a href="https://docs.djangoproject.com/en/2.1/ref/contrib/admin/#django.contrib.admin.ModelAdmin" rel="nofollow noreferrer">ModelAdmin</a></strong></p>
<p><strong><a href="https://docs.djangoproject.com/en/2.1/ref/contrib/admin/#django-contrib-admin-options-modeladmin-save_model" rel="nofollow noreferrer">save_model()</a></strong></p>
<p>[...] This method should save the object and return the new instance.</p>
</blockquote>
Example: 
<code>class MyModelAdmin(admin, ModelAdmin):

    def save_model(self, request, obj, form, change):

        if not change: # obj is being created for first time (i e., it's new)

            obj = super().save_model(request, obj, form, change) # create object first

            # now set your custom values here... 

            obj = super().save_model(request, obj, form=form._meta['fields'], change=change) # update object with custom values    

        else: # existing object is being edited (i e., it's not new)    

            # now set your custom values here... 

            obj = super().save_model(request, obj=obj._meta['fields'], form=form._meta['fields'], change=change) # update object with custom values        

        return obj  
</code>

Chii chinonzi Auto update ndima

Iyo "Auto update" munda inzvimbo yeboolean mu "settings" tafura yepurojekiti yeDjango. Kana yaiswa kuChokwadi, Django anozotarisa otomatiki kuti agadzirise mafaera epurojekiti uye, kana chero marongero matsva awanikwa, anogadzirisa mafaera epurojekiti.

Related posts:

Leave a Comment