我的model.py:
class MyClass(models.Model):
id = models.AutoField(primary_key=True)
price = models.FloatField(blank=True, null=True)
fee = models.FloatField(blank=True, null=True)
# total is price + fee
total = models.FloatField(blank=True, null=True)
我的admin.py
class MyClassAdmin(admin.ModelAdmin):
search_fields=[]
list_filter=[]
admin.site.register(MyClass,MyClassAdmin)
在Myclass Admin屏幕中,当用户键入price字段和费用字段时,将更新总字段。
这样做的最佳做法是什么?使用javascript?
答案 0 :(得分:0)
如果您需要在界面中进行实时显示,则必须使用javascript(jquery)并在更新时更新总数。但是为了将其保存在数据库中,请使用django模型的save方法,如下所示:
class MyClass(models.Model):
# attribute here ...
def save(self, *args, **kwargs):
self.total = self.price + self.fee
super(MyClass, self).save(*args, **kwargs)