Данные о размере таблицы моей комнаты связаны с внешним ключом с помощью данных о размере главной таблицы. я хочу получить размер данных экземпляра в комнате экземпляра. любая помощь, будет высоко ценится.
Я хочу получить данные о размере, как мой 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