2 回答
TA贡献1815条经验 获得超10个赞
您可以像这样向模型添加属性,请注意我在字段名称中添加了下划线:
class Content(models.Model):
...
_avatar = models.ImageField(upload_to=file, blank=True, null=True)
@property
def avatar(self):
return self._avatar.url
现在你可以这样做:
print(content.avatar)
TA贡献1827条经验 获得超8个赞
使用__str__()方法
class Content(models.Model):
...
avatar = models.ImageField(upload_to=file, blank=True, null=True)
def __str__(self):
try:
return self.avatar.url
except AttributeError: # "self.avatar" may be None
return "no avatar"
更新-1
我想,@propert可能适合你
class Content(models.Model):
...
avatar = models.ImageField(upload_to=file, blank=True, null=True)
@property
def avatar_url(self):
try:
return self.avatar.url
except AttributeError: # "self.avatar" may be None
return "no avatar"
现在,您可以访问该网址,
print(content.avatar_url)
添加回答
举报