Нужна помощь Реализация подсчета, получение оценки от пользователя, увеличение подсчета, затем нахождение средней реализации Django Python
Нужна помощь Реализация подсчета, получение оценки от пользователя, увеличение подсчета, затем нахождение средней реализации Django Python
CrystalPrototype_Django_WebsiteV1/prototype/HomeScreen/admin.py
from django.contrib import admin
from .models import *
# Register your models here.
admin.site.register(Profile)
admin.site.register(Element)
admin.site.register(Edit)
admin.site.register(TOS)
"""
This function allows for deletion of elementTexts and will update the auto
ranking score after deletion.
"""
@admin.action(description = 'Delete elements for one TOS and reset weight')
def deleteElementText(modeladmin, request, queryset):
allElement = Element.objects.all()
# allText = ElementText.objects.filter(tos = instance)
# filter to get all elements in tos
tosElements = allElement.filter(tos = queryset[0].tos)
queryElements = queryset.values_list('element', flat = True)
excluded = tosElements.exclude(id__in = queryElements)
weights = excluded.values_list('weight', flat = True)
# get absolute weight
absTotal = sum(abs(w) for w in weights)
regTotal = sum(weights)
# get total
total = absTotal + regTotal
# set rating
TOS.objects.filter(pk=queryset[0].tos.pk).update(weightRating = round((total / absTotal) * 100))
queryset.delete()
class ElementTextAdmin(admin.ModelAdmin):
actions = [deleteElementText]
admin.site.register(ElementText, ElementTextAdmin)
CrystalPrototype_Django_WebsiteV1/prototype/HomeScreen/models.py