2

我正在尝试使用social-auth,并遵循文档中的代码。但是,当我跑步时

python manage.py convert_to_south

我的 models.py 中出现以下错误

TypeError: Error when calling the metaclass bases
    module.__init__() takes at most 2 arguments (3 given)

这是我的模型文件

from django.db import models

# Create your models here.


class UsuarioManager(models.Manager):
    def create_user(self, username, email):
        return self.models._default_manager.create(username=username)


class Usuario(models):
    username = models.CharField(max_length=128)
    last_login = models.DateTimeField(blank=True, null=True)

    objects = UsuarioManager()

    def is_authenticated(self):
        return True
4

1 回答 1

1

您正在尝试使用此类扩展模块,而您可能打算在模块中扩展一个类: http ://www.gossamer-threads.com/lists/python/python/905168

models.model 看起来像您要使用的类:https ://docs.djangoproject.com/en/1.8/topics/db/models/

你的代码在这里是:

from django.db import models

# Create your models here.


class UsuarioManager(models.Manager):
    def create_user(self, username, email):
        return self.models._default_manager.create(username=username)


class Usuario(models.model):
    username = models.CharField(max_length=128)
    last_login = models.DateTimeField(blank=True, null=True)

    objects = UsuarioManager()

    def is_authenticated(self):
        return True

遵循以下示例:

from django.db import models

class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)
于 2015-04-29T19:00:42.740 回答