1

次のプロジェクトの作成を開始しています。最初に拡張ユーザーを作成しています。syncdb を実行すると、groups と user_permissions (UserProfile モデルと User モデル) の 2 つのテーブルが作成されることに気付きました。

ここに画像の説明を入力

これは Django 1.5 の新しいデフォルト モデルですか? UserProfile モデルのグループと user_permissions テーブルを作成しないようにすることはできますか?

4

1 に答える 1

0

2 つのテストの後、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 に答える