Я предполагаю, что вы собираетесь использовать существующие модели для расчета суммы. Создайте методы / свойства экземпляра в вашей модели (так как это поможет рассчитать сумму на уровне строк для моделей). Для стороны администратора вы можете использовать ModelAdmin с вашей моделью (вероятно, модель прокси ), а затем блокировать действия .
Метод / свойство экземпляра модели будет использоваться для вычисления строки уровень summery
class YourMainModel(models.Model):
# Your Model code
def instanceMethod(self)
return some_summery_calculation_based_on_model_fields
@property
def instanceProperty(self)
return some_summery_calculation_based_on_model_fields
class YourMainModelProxy(YourMainModel)
class Meta:
proxy=True
Теперь в admin.py
class YourSummeryModelAdmin(admin.ModelAdmin):
#Configure your model admin (Somewhat like this)
model = YourMainModelProxy
list_display = ['instanceMethod','instanceProperty'...]
# Disable add permission
def has_add_permission(self, request):
return False
# Disable delete permission
def has_delete_permission(self, request, obj=None):
return False
Надеюсь, это поможет.