Pri*_*ond 4 python django django-models
我似乎无法让 AppConfig 下的就绪功能正常工作。
这是我的 apps.py 代码:
from django.apps import AppConfig
from django.contrib.auth.models import User
from django.db.models.signals import post_save, post_delete
from django.db.models import Max, Count
from .models import Player, PlayerStats, TotalLevels
class BloxorsConfig(AppConfig):
name = 'bloxors'
def ready(self):
MaxCurrentLevel = PlayerStats.objects.aggregate(max_levels=Max('level_no'))['max_levels']
PlayerCount = Player.objects.aggregate(count_players=Count('player_name', distinct=True))['count_players']
print(MaxCurrentLevel, PlayerCount)
Run Code Online (Sandbox Code Playgroud)
我在文档中读到,ready() 每次都会在开始时被调用manage.py runserver
,但为什么什么也没有发生。理想情况下,我期望它打印两个值MaxCurrentLevel, PlayerCount
。
有人可以指出我做错了什么并帮助解决这个问题吗?
一如既往,我非常感谢您的回答!
好吧,这首先对我来说有点愚蠢,但我找到了答案,对于其他想要它的人来说,它就在这里!
在 INSTALLED_APPS 下:我已将应用程序安装为:
'bloxors'
但显然在文档中(经过大量挖掘后),您实际上需要将其指定为:
'bloxors.apps.BloxorsConfig'
给出的原因是因为 django 没有设置默认的 AppConfig,这取决于用户来执行此操作,这是我不知道的,所以就在这里!