Я создаю приложение Django для загрузки файлов. Я хотел бы иметь возможность подсчитать количество файлов, которые есть у пользователей, и которые одобрены. У меня есть модель с булевым «одобренным» полем. Эта модель находится в admin.py.Количество файлов, которые каждый пользователь загрузил и утвердил
В admin.py
from django.contrib import admin
from .models import FileModel
from .forms import FileForm
class FileModelAdmin(admin.ModelAdmin):
form = FileForm
fields = ('title', 'description', 'categories', 'pub_date', 'submitted_date', 'author', 'user', 'approved', 'upload', 'vote')
# pass
list_display = ['title', 'approved', 'author', 'user', 'categories', 'description', 'pub_date', 'submitted_date', 'upload', 'vote']
admin.site.register(FileModel, FileModelAdmin)
Я хотел бы целое число в другой модели «new_user_model», который находится в другом приложении, чтобы увеличить целочисленное поле «файлы» один, когда в файл одобрен на сайте администратора. Таким образом, я мог бы отслеживать, сколько файлов было одобрено для каждого пользователя.
class NewUserModel(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
# user = models.ForeignKey(User)
files = models.IntegerField(default=0)
Модель для файлов,
class FileModel(models.Model):
title = models.CharField(max_length=100)
description = models.CharField(max_length=255)
pub_date = models.DateTimeField('date published')
submitted_date = models.DateTimeField('date submitted')
author = models.CharField(max_length=255)
user = models.ForeignKey(User, default=6)
approved = models.BooleanField(default=False)
upload = models.FileField().....................
...................................................
Так что я хочу, поле файлов в new_user_model увеличить на один, когда файл «утвержден» и кнопка сохранения хит на сайте администратора. Кроме того, если «одобрен» не установлен, мне понадобится поле «файлы», чтобы уменьшить на единицу.
Как это можно сделать?
Обновлено:
В конце концов, я хотел бы иметь возможность отображать количество файлов, которое пользователь имеет на сайте.
Спасибо,
Вы уверены, что не желаете иметь 'approved_by' ForeignKey в FileModel? Таким образом, вы можете подсчитать, сколько файлов одобрено, и знать, какие файлы они одобрили. –
Хорошо, это звучит как правильный способ сделать это. Таким образом, это будет для пользователя пользователем Foreignkey. –
Я пытался сделать это таким образом, что мне не пришлось бы подсчитывать количество утвержденных файлов для каждого пользователя. Вместо этого я хотел бы обновлять количество утвержденных файлов каждый раз, когда они утверждены администратором. Это должно быть меньше обработки и быстрее. Но это означает, что количество файлов должно быть уже доступно. И вот где я застрял. –