我开始创建我的下一个项目。我首先创建扩展用户。当我运行 syncdb 时,我注意到它为组和 user_permissions(UserProfile 和 User 模型)创建了两个表。
这是 Django 1.5 的新默认模型吗?我可以禁止它,而不是为 UserProfile 模型创建组和 user_permissions 表吗?
我开始创建我的下一个项目。我首先创建扩展用户。当我运行 syncdb 时,我注意到它为组和 user_permissions(UserProfile 和 User 模型)创建了两个表。
这是 Django 1.5 的新默认模型吗?我可以禁止它,而不是为 UserProfile 模型创建组和 user_permissions 表吗?
之后,通过两次测试,我弄清楚了为什么我的 UserProfile 模型创建的表与 User 模型相同。
//When I create UserProfile model I extend it by AbstractUser.
//Which results on creating tables the same with User model.
//So be aware when you use User model class, expect it will create multiple tables
class UserProfile(AbstractUser):
street = models.CharField(max_length=255)
city = models.CharField(max_length=30)
state = models.CharField(max_length=12)
zip = models.CharField(max_length=10)
phone = models.CharField(max_length=15)
cell = models.CharField(max_length=15)
我改变了我的扩展模型:
class UserProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
street = models.CharField(max_length=255)
city = models.CharField(max_length=30)
state = models.CharField(max_length=12)
zip = models.CharField(max_length=10)
phone = models.CharField(max_length=15)
cell = models.CharField(max_length=15)