Нужна помощь Реализация подсчета, получение оценки от пользователя, увеличение подсчета, затем нахождение средней реализации 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

Права администратора для всех нас или просто общий аккаунт

Регистрации пользователей

вручную ввести все элементы (описание, пояснение, вес, категория никогда не будет изменена)

Вернуться на верх