python - 如何使用 django AppConfig.ready()

标签 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)

我在文档中读到,每次在 manage.py runserver 开始时都会调用 ready(),但为什么什么也没有发生。理想情况下,我期望它打印两个值 MaxCurrentLevel, PlayerCount

有人可以指出我做错了什么并帮助解决这个问题吗?

一如既往,非常感谢您的回答!

最佳答案

好吧,一开始这对我来说有点愚蠢,但我找到了答案,对于任何喜欢它的人,这就是答案!

在 INSTALLED_APPS 下: 我已将我的应用程序安装为: 'bloxors'

但显然在文档中(经过大量挖掘之后),您实际上需要将其指定为:

'bloxors.apps.BloxorsConfig'

给出的原因是,django 没有设置默认的 AppConfig,这取决于用户,我不知道,所以你开始吧!

关于python - 如何使用 django AppConfig.ready(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59225246/

相关文章:

python - 在 Django 中自定义管理表单,同时使用自动发现

python - 如何对 url 中发布的字典的键进行排序?

Django 和 NoSQL,任何现成的库?

python - Django 仅使用 Sqlite 按距离过滤(无 GeoDjango、PostGres、MySQL、GIS)

django - 可选的外键应该是 NULL 还是应该指向一个空字符串

python - Django 无法识别序列化器中当前用户的字段覆盖

python - 如何删除仅包含某些值的行?

python - python 中的希伯来日历

python - 如何制作 Plotly Indicator 仪表网格?

python - 轻松漂亮地打印花车?