0

ユーザーが YouTube アカウントを使用してアカウントを認証した後、資格情報を保存しようとしています。この例に従って、新しく作成した資格情報をデータベースに保存して、後で使用できるようにしました。 https://code.google.com/p/google-api-python-client/source/browse/samples/django_sample/ . その中で、以下のような django の資格情報モデルを作成することになっています。

from django.contrib.auth.models import User
from django.db import models
from oauth2client.django_orm import CredentialsField
...
class CredentialsModel(models.Model):
id = models.ForeignKey(User, primary_key=True)
credential = CredentialsField()

私は South を使用しているため、モデルのカスタム「CredentialsField」が気に入らなかったため、カスタム マイグレーションを作成する必要がありました。以下に示すこのレポhttps://github.com/ssutee/watna_location/blob/master/location/migrations/0010_auto__add_credentialsmodel.py#L19からユーザーの移行をコピーします。

def forwards(self, orm):
    # Adding model 'CredentialsModel'
    db.create_table('location_credentialsmodel', (
        ('id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'], primary_key=True)),
        ('credential', self.gf('oauth2client.django_orm.CredentialsField')(null=True)),
    ))
    db.send_create_signal('location', ['CredentialsModel'])

アプリを実行するたびにクラッシュします

storage = Storage(CredentialsModel, 'id', user, 'credential')

エラー「init () は正確に 2 つの引数 (指定された 5 つ) を取ります」。ドキュメントから判断すると、2つではなく5つの引数を取るべきだと確信しています。私が間違っているかもしれないことについて誰かが考えを持っていますか?

4

1 に答える 1