如何在 ModelAdmin class 的 save_related 方法中访问模型实例?
How can I access model instance in save_related method of ModelAdmin class?
我有一个具有 2 个属性的模型,其值取决于相关项:
class Offer(models.Model):
rating = models.DecimalField(max_digits=3, decimal_places=1, default=0)
count = models.IntegerField(default=0)
相关项目在管理页面中设置为模型的内联。我想在通过管理页面添加新的相关项目后执行两个功能。当我覆盖 save_model 方法时,新的相关项目尚未保存,因为显然 save_related 方法在 save_model
之后执行
class OfferAdmin(admin.ModelAdmin):
model = Offer
inlines = [
CommentInline
]
def save_model(self, request, obj, form, change):
super().save_model(request, obj, form, change)
obj.rating = get_rating(obj)
obj.count = get_count(obj)
obj.save()
如何在 save_related 中访问对象并更改模型实例?
您在这里要做的是访问 OfferAdmin
中的内联数据
你可以这样做
def save_related(self, request, form, formsets, change):
obj = form.instance
# make changes to model instance
obj.save()
super(OfferAdmin, self).save_related(request, form, formsets, change)
希望对您有所帮助!
我有一个具有 2 个属性的模型,其值取决于相关项:
class Offer(models.Model):
rating = models.DecimalField(max_digits=3, decimal_places=1, default=0)
count = models.IntegerField(default=0)
相关项目在管理页面中设置为模型的内联。我想在通过管理页面添加新的相关项目后执行两个功能。当我覆盖 save_model 方法时,新的相关项目尚未保存,因为显然 save_related 方法在 save_model
之后执行class OfferAdmin(admin.ModelAdmin):
model = Offer
inlines = [
CommentInline
]
def save_model(self, request, obj, form, change):
super().save_model(request, obj, form, change)
obj.rating = get_rating(obj)
obj.count = get_count(obj)
obj.save()
如何在 save_related 中访问对象并更改模型实例?
您在这里要做的是访问 OfferAdmin
你可以这样做
def save_related(self, request, form, formsets, change):
obj = form.instance
# make changes to model instance
obj.save()
super(OfferAdmin, self).save_related(request, form, formsets, change)
希望对您有所帮助!