Django admin 后台修改数据的时候,怎么在渲染表单之前对数据进行修改?
文章信息和内容用两张表存,使用一对一的关联在一块儿的,有个需求,在后台修改信息的时候想要对内容进行一些修改
即:在修改信息时,将数据渲染到表单之前对数据进行一些修改
这个字段还是 inlines
模型的字段
回答:
用get_form方法:
from django.contrib import adminfrom .models import Article, ArticleContent # 模型
class ArticleContentInline(admin.StackedInline):
model = ArticleContent
# 其他设置...
class ArticleAdmin(admin.ModelAdmin):
inlines = [
ArticleContentInline,
]
def get_form(self, request, obj=None, **kwargs):
form = super().get_form(request, obj=obj, **kwargs)
if obj:
article_content = obj.articlecontent # 假设一对一关联的related_name是'articlecontent'
# 数据修改
article_content.content = article_content.content.upper()
article_content.save()
return form
admin.site.register(Article, ArticleAdmin)
以上是 Django admin 后台修改数据的时候,怎么在渲染表单之前对数据进行修改? 的全部内容, 来源链接: utcz.com/p/938997.html