1

私が取り組んでいるdjango Webサイトのモデルを構築しようとしています.以下のレビューモデルでわかるように、すべてのフィールドがあります. 今、私はカスタムモデルマネージャーを実装する方法を読みました.コード行の何らかの理由で: "object = ReviewsManager", django はそれが未定義の変数であるというエラーをスローします. 私が見たすべての例はまったく同じことをしますが、どうやら問題なく動作するようです。何が起こっているのでしょうか? 明確にするために、インポートが必要なものはすべてインポートしたので、それが問題ではないことはわかっています。補足として、重要な場合に備えて、私はdjango 1.6を実行していることに言及する必要があります。

//This is the model itself
class Reviews(models.Model):
    mentor_id = models.IntegerField(default=0, unique=False);
    review_id = models.IntegerField(default=0, unique=False);
    title = models.CharField(max_length=200);
    content = models.CharField(max_length=200);
    stars = models.DecimalField(max_digits=1, decimal_places=1);
    ----> object = ReviewsManager

//Trying to use this manager below
---> class ReviewsManager(models.Manager):    

    def getReviewsByMentorId(self, id):
       r = Reviews.objects.filter(mentor_id=id);
       return r;
4

2 に答える 2

1

変更してください

----> オブジェクト = ReviewsManager

----> objects = ReviewsManager() ## オブジェクトを使用する必要があります

コードは次のようになります。

クラスのレビュー (models.Model):
    mentor_id = models.IntegerField(default=0, unique=False);
    review_id = models.IntegerField(デフォルト = 0、一意 = False);
    タイトル = models.CharField(max_length=200);
    content = models.CharField(max_length=200);
    stars = models.DecimalField(max_digits=1, decimal_places=1);
    オブジェクト = ReviewsManager()

class ReviewsManager(models.Manager): def getReviewsByMentorId(self, id): r = Reviews.objects.filter(mentor_id=id); return r;
于 2014-04-15T10:04:38.783 に答える