moviewyrm/bookwyrm/models/attachment.py

31 lines
919 B
Python
Raw Normal View History

''' media that is posted in the app '''
from django.db import models
from bookwyrm import activitypub
from .activitypub_mixin import ActivitypubMixin
2020-11-30 22:24:31 +00:00
from .base_model import BookWyrmModel
from . import fields
class Attachment(ActivitypubMixin, BookWyrmModel):
''' an image (or, in the future, video etc) associated with a status '''
status = models.ForeignKey(
'Status',
on_delete=models.CASCADE,
2020-11-28 04:11:22 +00:00
related_name='attachments',
null=True
)
2020-11-30 22:24:31 +00:00
reverse_unfurl = True
class Meta:
''' one day we'll have other types of attachments besides images '''
abstract = True
class Image(Attachment):
''' an image attachment '''
image = fields.ImageField(
upload_to='status/', null=True, blank=True, activitypub_field='url')
caption = fields.TextField(null=True, blank=True, activitypub_field='name')
activity_serializer = activitypub.Image