デフォルトマネージャ(objects=model.Manager()
)に加えて、カスタムモデルマネージャを使用しています。モデルに2つの__unicode__
メソッドを追加したいと思います.1つはデフォルトマネージャー用、もう1つはカスタムマネージャー用です。それ以外の場合、ユニコードは、デフォルトマネージャのユニコードで使用されている変数の一部を含まないカスタムマネージャの結果に対してエラーをスローします。例えば2つのユニコードメソッドをモデルに追加しますか?
-
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)
はこれを行う方法はありますか?ありがとうございました。
「...ユニコードは、カスタムマネージャの結果のためにエラーがスローされます。」 ...これはどういう意味ですか? –