如何将数据添加到数据库并通过计算显示在管理页面上


From Django.db import models
Class multi(models.Model):    
Varone = models.Integer()
Vartwo = varone * 2

如何在此类中进行计算,并在 Django 的管理页面中显示该计算。

我试图谷歌找不到答案。

你需要覆盖保存方法

class Multi(models.Model):
var_one = models.IntegerField(verbose_name = "first number")
var_two = models.IntegerField(blank=True, null=True,verbose_name = "second number")
def save(self, *args, **kwargs):
self.var_two = self.var_one * 2 
super(Multi,self).save()
def __str__(self):
return "multi method => {0} * 2 = {1}".format(self.var_one, self.var_two)

将此添加到admin.py

from .models import Multi
admin.site.register(Multi)

首先,python已经定义了语法,你应该遵循这些东西。
您可以通过定义property来显示var_2,如下所示,

from django.db import models

class Multi(models.Model):
var_1 = models.IntegerField()
@property
def var_2(self):
return self.var_1 * 2


然后将admin覆盖为(更改admin.py(

from django.contrib import admin

class MultiAdmin(admin.ModelAdmin):
list_display = ('id', 'var_1', 'var_2')

admin.site.register(Multi, MultiAdmin)


你将得到这样的输出

最新更新