1

我开始创建我的下一个项目。我首先创建扩展用户。当我运行 syncdb 时,我注意到它为组和 user_permissions(UserProfile 和 User 模型)创建了两个表。

在此处输入图像描述

这是 Django 1.5 的新默认模型吗?我可以禁止它,而不是为 UserProfile 模型创建组和 user_permissions 表吗?

4

1 回答 1

0

之后,通过两次测试,我弄清楚了为什么我的 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)
于 2013-03-09T12:33:52.640 回答