Skip to main content
 首页 » 编程设计

python之Django:在模型文件中调用元类基础时出错

2025年05月04日31zlslch

我正在尝试使用社交身份验证,并遵循文档中的代码。但是,当我运行时

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 

请您参考如下方法:

您正尝试使用此类扩展模块,而您可能打算扩展模块中的类: 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)