Manipulating Data in Django's Admin Panel on Save

前端 未结 2 1359
执念已碎
执念已碎 2020-12-23 12:55

Ok, so here\'s the skinny:

# models.py
class Article( models.Model ):
    title           = models.CharField( max_length = 255 )
    author          = models         


        
相关标签:
2条回答
  • 2020-12-23 13:30

    From the Django Docs:

    ModelAdmin.save_model(self, request, obj, form, change)
    

    The save_model method is given the HttpRequest, a model instance, a ModelForm instance and a boolean value based on whether it is adding or changing the object. Here you can do any pre- or post-save operations.

    For example to attach request.user to the object prior to saving:

    class ArticleAdmin(admin.ModelAdmin):
        def save_model(self, request, obj, form, change):
            obj.user = request.user
            obj.save()
    
    0 讨论(0)
  • 2020-12-23 13:30
    class ArticleAdmin( admin.ModelAdmin ):
        fields  = [ 'title', 'body' ]
        form    = ArticleAdminForm
    
        def save_model(self, request, obj, form, change):
             obj.author = "name Here"
             obj.save()
    
    0 讨论(0)
提交回复
热议问题