我有以下自定义用户模型尝试使用 Django 1.5 AbstractBaseUser:
class Merchant(AbstractBaseUser):
email = models.EmailField()
company_name = models.CharField(max_length=256)
website = models.URLField()
description = models.TextField(blank=True)
api_key = models.CharField(blank=True, max_length=256, primary_key=True)
USERNAME_FIELD = 'email'
REQUIRED_FIELDS = ['email','website']
class Meta:
verbose_name = _('Merchant')
verbose_name_plural = _('Merchants')
def __unicode__(self):
return self.company_name
该模型运行良好,数据库符合预期,但问题是当我尝试转储数据为我的测试创建夹具时。
python manage.py dumpdata --natural --exclude=contenttypes --exclude=auth.permission --indent=4 > fixtures/initial_data.json
然后我得到错误:
CommandError: Unable to serialize database: <Merchant: Test Shop> is not JSON serializable
你有什么想法可能是什么原因。它可能是 charfield 主键还是带有 abstractbaseuser 模型的东西?
谢谢