【发布时间】:2019-12-02 21:59:28
【问题描述】:
我正在尝试从某个模型获取图像 url。我做了2个模型: 餐厅型号:
class Restaurant(models.Model):
from location.models import Area
from business.models import Business
name = models.CharField(verbose_name=_('Name'), max_length=255, unique=True)
address = models.CharField(verbose_name=_("Address"), max_length=255)
phone = models.CharField(verbose_name=_('Phone Number'), max_length=255)
email = models.EmailField(verbose_name=_('Email'), max_length=255, blank=True, null=True)
website = models.URLField(verbose_name=_('Website / Online Listing Link'), max_length=255, blank=True, null=True)
is_active = models.BooleanField(verbose_name=_("Is Active?"), default=True)
is_veg = models.BooleanField(verbose_name=_('Is Veg?'), default=True)
class Meta:
verbose_name = 'Restaurant'
verbose_name_plural = 'Restaurants'
和餐厅形象模型:
class RestaurantImage(models.Model):
image_type = models.CharField(verbose_name=_('Image Type'), choices=IMAGE_TYPES, max_length=255, default=RESTAURANT)
restaurant = models.ForeignKey(verbose_name=_('Restaurant'), on_delete=models.PROTECT, to=Restaurant)
image = models.ImageField(verbose_name=_('Select Image'), upload_to='media/')
def __str__(self):
return self.restaurant.name + " - " + IMAGE_TYPES_DICT[self.image_type]
class Meta:
verbose_name = 'Restaurant Image'
verbose_name_plural = 'Restaurant Images'
我需要获取餐厅的图片,所以我尝试通过属性方法获取图片,但是得到了UnicodeDecodeError。
@property
def images(self):
images = []
for i in RestaurantImage.objects.filter(restaurant=self.id):
images.append(i.image)
return images
请帮我获取图片网址。谢谢。
【问题讨论】:
-
不确定这是否有帮助,但在网上找到了这个code.djangoproject.com/ticket/17816#comment:3
-
感谢@DaminiGanesh 的帮助,无论如何我找到了答案。
标签: django api django-models django-rest-framework get