我似乎无法让 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)
我在文档中读到,ready() 每次都会在开始时被调用manage.py runserver
但为什么什么也没有发生。理想情况下,我期望它打印两个值MaxCurrentLevel, PlayerCount
.
有人可以指出我做错了什么并帮助解决这个问题吗?
一如既往,我非常感谢您的回答!
好吧,这首先对我来说有点愚蠢,但我找到了答案,对于其他想要它的人来说,它就在这里!
在 INSTALLED_APPS 下:
我已将我的应用程序安装为:'bloxors'
但显然在文档中(经过大量挖掘后),您实际上需要将其指定为:
'bloxors.apps.BloxorsConfig'
给出的原因是因为 django 没有设置默认的 AppConfig,这取决于用户来执行此操作,这是我不知道的,所以就在这里!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)