“swappable”在模型元数据中有什么作用?

32

在查看 Django auth 模型代码时,我遇到了以下代码:

class User(AbstractUser):
    class Meta(AbstractUser.Meta):
        swappable = 'AUTH_USER_MODEL'

很明显,这与settings.py中的新AUTH_USER_MODEL设置有关,但它是如何实际工作的,有什么Python“技巧”?

它还可以在哪些其他情况下使用?

2个回答

31
swappable是一个“有意不公开”的功能,目前正在开发/测试中。它用于处理“我有一个具有一些外键关系的基本抽象模型。”稍微详细的信息可以从Django的票务系统GitHub获取。因为它是一个“秘密的alpha”功能,不能保证除了用户之外的任何功能都能正常工作,并且理解详细操作可能需要深入源代码。它与AUTH_USER_MODEL一起工作,因为User模型和swappable标志是专门为彼此开发的。

2

3
抱歉,我在问题中应该更清楚。是的,我猜到那是什么东西。我的问题是它是如何实际做到的? - frnhr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接