ファイルをアップロードするための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)
で
とき私は1つで整数フィールド「ファイル」を高めるために、他のアプリである別のモデル「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().....................
...................................................
だから私は、ファイルが「承認」されたものとadminサイトでヒット保存ボタンにより増加するnew_user_model内のファイルのフィールドをしたいです。また、「承認済み」がチェックされていない場合は、「ファイル」フィールドを1つ減らす必要があります。
どうすればいいですか?
更新日:
を最終的に私は、ユーザーがサイト上で持っているファイルの数を表示できるようにしたいと思います。
あなたが承認されたとしてファイルをマークしcustom admin actionを追加することができますおかげで、
FileModelに 'approved_by'外部キーを使用したくないですか?この方法で、誰かが承認したファイルの数を数え、承認したファイルを知ることができます。 –
これは正しい方法と言えます。だから、これはUserにとっての外来だろうか? –
私は、ユーザーごとに承認されたファイルの数を数える必要がないようなやり方でこれをしようとしていました。代わりに、承認されたファイルの数を管理者が承認するたびに更新したいと考えています。これは、処理が少なくてすみます。しかし、それはファイルの数がすでに利用可能である必要があることを意味します。それが私が立ち往生している場所です。 –