除了默认管理器(objects=model.Manager()
)之外,我还使用了自定义模型管理器。我想为模型添加两个__unicode__
方法 - 一个用于默认管理器,另一个用于自定义管理器;否则,unicode会为自定义管理器的结果引发错误,该错误不包含unicode中用于默认管理器的一些变量。将两个unicode方法添加到模型中?
例如 -
class CreditCountManager(models.Manager):
def credit_count(self):
...
return result_list
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
full_name = models.CharField(max_length=100)
network = models.ForeignKey(Network)
...
credit_count = CreditCountManager()
objects = models.Manager()
# need something like:
def __unicode-for-default__(self):
return "%s(%s)"%(self.user, self.network)
def __unicode-for-credit_count__(self):
return "%s(%s)"%(other variables)
有没有办法做到这一点?谢谢。
“... unicode的抛出一个错误自定义管理的结果。” ......这是什么意思? –