0

User (django.contrib.auth.models.User) モデルとの OneToOne 関係を持つカスタム モデルがあります。

class Profile(models.Model):
    user = models.OneToOneField(User)

また、ユーザーが作成されるたびに新しいプロファイルを作成したいと考えています。だから私は信号を追加しました。

@receiver(post_save, sender=User)
def _setup_user(sender, **kwargs):
    """
    Create a new profile instance for each user
    """
    created = kwargs.get('created', False)
    user = kwargs.get('instance', False)
    if created and user:
        profile = Profile(user=kwargs['instance'])
        profile.save()

これはすべて問題ありませんが、プロファイル テーブルがまだ作成されていないため、admin ユーザーの作成時に syncdb がエラーをスローします (移行の管理に South を使用しています)。

どうすればこれを回避できますか?

編集

したがって、スーパーユーザーの作成を省略してもうまくいきました。

$ ./manage.py syncdb --noinput
$ ./manage.py migrate
$ ./manage.py createsuperuser
4

2 に答える 2

1

最初に syncdb を実行し、スーパーユーザーの作成を拒否します。次に、db run を作成した後manage.py createsuperuser

1.6のドキュメントはこちら

問題が発生した場合はお知らせください。ただし、データベースが最初に作成されていないことが唯一の問題である場合は、これでうまくいくはずです。

それが役に立てば幸い

乾杯

于 2014-03-24T18:25:36.883 に答える