Как я могу использовать экземпляр модели для фильтрации набора запросов в Django - PullRequest
0 голосов
/ 24 сентября 2019

Я новичок в Django, и мне нужно объявить поле, в котором хранится количество попыток доставки, и для этого мне нужно проверить, сколько попыток доставки было предпринято для данного пакета, но когда я пытаюсь отфильтроватьобъекты, в которых package_id совпадает с текущим сертификатом, я получаю сообщение об ошибке «Я» не определено.что я делаю не так?

Я пытался использовать модели.F ('package_id') вместо self.package_id, но это дает мне все объекты, потому что он проверяет package_id каждого экземпляра на себя.

class Package(models.Model):
    content = models.CharField(max_length=150)

    weight = models.FloatField()

    destiny = models.ForeignKey(Company)

class Certification(models.Model):
    def increment_trial(self):
        last = Certification.objects.filter(
            package_id=self.package_id).order_by('trial').last()
        if not last:
            return 1
        else:
            return last.trial + 1

    date = models.DateField(auto_now_add=True)

    package = models.ForeignKey(Package, on_delete=models.CASCADE)

    trial = models.IntegerField(default=increment_trial(self))

    note = models.TextField()

Мне нужен какой-то способ ссылки на сам экземпляр внутри фильтра или другой способ воспроизвести описанное поведение.

PS: я почти не говорю по-английски.

...