Как получить привязанные к ManyToMany filed элементы через _set ? Django

Раньше я хорошо это делал, но сейчас не могу вспомнить?.

models.py:

class Tovar(models.Model):
    idtov = models.CharField("ID товара", max_length=30, default="default")
    name = models.CharField("Название товара", max_length=400, default="default")


    def __str__(self):
        return self.name

    class Meta:
        verbose_name = "Товар"
        verbose_name_plural = "Товары"
        ordering = ('id',)




class Checks(models.Model):
    iddoc = models.CharField("Id Чека", max_length=30)
    tovars = models.ManyToManyField("Tovar", verbose_name="Товары в чеке", related_name="tovar")
    createtime = models.DateTimeField("Дата", auto_now_add=True)
#   count = ...   Будем брать из Checks.objects.get(pk=pk).tovars
    summa = models.FloatField()


    def __str__(self):
        return f"Id чека: {self.iddoc}"

    class Meta:
        verbose_name = "Чек"
        verbose_name_plural = "Чеки"
        ordering = ("createtime",'id')

Я хочу получить из объекта Checks все товары, привязанные к нему через related name.


Ответы (1 шт):

Автор решения: h g

Попробуй создать функцию в модели Checks(get_all_tovar, к примеру). Дальше легко:

return self.tovars.all()
→ Ссылка