gpt4 book ai didi

python - 什么时候在 Django 中使用 "AbstractBaseUser"?

转载 作者:行者123 更新时间:2023-11-28 16:35:26 25 4
gpt4 key购买 nike

当我可以将任何字段提供给 User 模型时,这两者之间有什么区别?AbstractBaseUser 的目的是什么?哪个更适合与 python-social-auth 一起使用?

class User(models.Model):
username = models.CharField(max_length=50)
is_active = models.BooleanField(default=True)
full_name = models.CharField(max_length=100)
date_of_birth = models.DateField()

class MyUser(AbstractBaseUser):
username = models.CharField(max_length=50)
is_active = models.BooleanField(default=True)
full_name = models.CharField(max_length=100)
date_of_birth = models.DateField()

最佳答案

AbstractUserUser 模型的子类。因此,该单一模型将具有 native User 字段,以及您定义的字段。

将字段分配给等于 Useruser=models.ForeignKey(User) 正在创建从一个模型到 User 模型。

您可以使用其中任何一种,但推荐 django 的方法是创建一个连接,因此使用 => user=models.ForeignKey(User)

sublclass 的正确模型是 django.contrib.auth.models.AbstractUser,如文档中所述:

https://docs.djangoproject.com/en/1.6/topics/auth/customizing/#extending-django-s-default-user

关于python - 什么时候在 Django 中使用 "AbstractBaseUser"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27049916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com