Django: как получить размер данных в наборе запросов - PullRequest
0 голосов
/ 03 февраля 2020

Данные о размере таблицы моей комнаты связаны с внешним ключом с помощью данных о размере главной таблицы. я хочу получить размер данных экземпляра в комнате экземпляра. любая помощь, будет высоко ценится.

Я хочу получить данные о размере, как мой image_set в этой модели "Комната", в результате я не получаю данные о размере. любая помощь или предложение будут оценены.

models.py

class Room(models.Model):
    title  = models.CharField(max_length=30)
    slug = models.SlugField(blank=True, null=True, max_length=80)
    description = models.TextField(max_length=1080, blank=True, null=True)
    instruction = models.CharField(max_length=500, blank=True, null=True)
    price = models.DecimalField(max_digits=8, decimal_places=2)
    discount_price = models.DecimalField(max_digits=8, decimal_places=2)

    size = models.ForeignKey("Size", on_delete=models.CASCADE)
    capacity = models.ForeignKey("Capacity", on_delete=models.CASCADE)
    bed = models.ForeignKey("Bed", on_delete=models.CASCADE)
    services = models.ManyToManyField("Services")

    category = models.ManyToManyField("Category")

    created_on = models.DateTimeField(default=timezone.now)
    updated_on = models.DateTimeField(auto_now_add=True)
    status = models.BooleanField(default=True)

    class Meta:
        ordering = ["-id"]

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        return reverse("server_room_detail", kwargs={"slug":self.slug})

    def get_size(self, obj):
        for s in Size.objects.all():
            return s

    def get_image_url(self):
        img = self.roomimage_set.first()
        if img:
            return img.image.url
        else:
            return None

    def get_last_image_url(self):
        img = self.roomimage_set.last()
        if img:
            return img.image.url
        else:
            return None


def image_upload_to(instance, filename):
    title = instance.room.title
    slug = slugify(title)
    base_name, file_extension = filename.split(".")
    new_filename = "%s-%s.%s"%(slug, instance.id, filename)
    return "room/%s/%s"%(slug, new_filename)


class RoomImage(models.Model):
    room = models.ForeignKey("Room", on_delete=models.CASCADE)
    image = models.ImageField(upload_to=image_upload_to)
    created_on = models.DateTimeField(default=timezone.now)

    def __unicode__(self):
        return self.room.title


class Size(models.Model):
    title = models.CharField(max_length=30)
    created_on = models.DateTimeField(default=timezone.now)

    def __unicode__(self):
        return self.title

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...