是否可以将自定义属性添加到模型字段?

时间:2018-03-13 10:46:25

标签: python django django-models

这是我的模特:

def Post(models.Model):
    ...
    video = models.BooleanField(default=False, youtube=False)

是否可以添加youtube属性,以便我可以在我的模板中使用它,如下所示:

{% if video.youtube %}
    <p>text</p>
{% endif %}

1 个答案:

答案 0 :(得分:1)

如果您想知道视频是否在YouTube上托管,那么您最好使用某个属性;

class Post(models.Model):
    ...
    video = models.URLField(verbose_name="URL of video")

    @property
    def video_is_youtube(self):
        """ Returns a boolean if the video is hosted on youtube """"
        if self.video and "youtube.com" in self.video:
            return True
        return False

然后在您的模板中,您可以{% if post.video_is_youtube %}检查视频是否托管在youtube上。