这是我的信号:
@receiver(post_save, sender=settings.AUTH_USER_MODEL)
def create_auth_token(sender, instance=None, created=False, **kwargs):
"""Receiver to create authoriasation tokens for users"""
if kwargs.get('raw'):
return # ignore for loading fixtures
import pdb; pdb.set_trace()
if created:
Token.objects.create(user=instance)
UserBillingHistory.objects.create(user=instance)
if settings.NEW_USER_EMAIL is not None:
send_email(
"Spotless data - new user",
"New user with email %s has signed up" % instance.email,
"Spotless Data<team@spotlessdata.com>",
settings.NEW_USER_EMAIL
)
这是我的模型:
类用户计费历史记录(模型。型号(:
user = models.ForeignKey(User, on_delete=models.CASCADE)
description = models.TextField(max_length=500, blank=False, default="Free 100Mb on sign-up and Buy $40 and get 100Mb")
cash_amount = models.DecimalField(max_digits=9, decimal_places=2)
data = models.IntegerField(null=False, blank=False)
date = models.DateTimeField(default=timezone.now, blank=False, null=False)
is_confirmed = models.BooleanField(default=False)
job = models.ForeignKey("Job", on_delete=models.SET_NULL, null=True)
@property
def user_can_view(self, user):
return (self.user == user)
def user_can_edit(self, user):
return (self.user == user)
def user_can_delete(self, user):
return (self.user == user)
def get_absolute_url(self):
return "/userbillinghistorys/%s/" % self.id
def cash_amount(self):
return "$%s" % 0
def data(self):
return 100 * 1024 * 1024
def __unicode__(self):
return u'%s' % self.description
当我尝试创建新用户注册时,出现以下错误。 属性错误:无法通过用户计费历史记录实例访问管理器
UnicodeEncodeError:"charmap"编解码器无法编码 - 字符映射到
默认情况下,此模型将显示内容 data=100*1024*1024 和 cash_amount=0。你能建议一下吗,谢谢。
对于评论中提到的错误,请替换:
def __unicode__(self):
return "%s" % "Free 100Mb on sign-up and Buy $40 and get 100Mb"
跟:
def __unicode__(self):
return u"Free 100Mb on sign-up and Buy $40 and get 100Mb"