1. ホーム
  2. django

[解決済み] Django: auth user をモデルにインポートする

2023-04-25 12:40:09

質問

Django で新しいモデルを作成しました。

from django.db import models
from django.contrib.auth import user

class Workers(models.Model):
    user = models.OneToOneField(User, primary_key=True)
        work_group = models.CharField(max_length=20)
        card_num = models.IntegerField()
    def __unicode__(self):
            return self.user

しかし、うまくいきません。 ImportError: cannot import name user

どうすれば直るのでしょうか?

dbに新しいテーブル("workers")を作成したいのですが、このテーブルには OneToOne テーブル "auth_user"との関係を持っています。

どのように解決するのですか?

from django.contrib.auth.models import User

モデルを見逃しています - そして、ユーザーは大文字です。

もしカスタムユーザーモデルを使うなら

from django.contrib.auth import get_user_model
User = get_user_model()

より詳細な情報は のドキュメントを参照してください。 .

Django 1.11 で変更されました。

インポート時に get_user_model() を呼び出す機能が追加されました。