31 lines
751 B
Python
31 lines
751 B
Python
from django.db import models
|
|
from entries.models import Entry
|
|
from model_utils.models import TimeStampedModel
|
|
|
|
|
|
class State:
|
|
PENDING = 'p'
|
|
VALID = 'v'
|
|
INVALID = 'i'
|
|
DELETED = 'd'
|
|
CHOICES = (
|
|
(PENDING, 'pending'),
|
|
(VALID, 'valid'),
|
|
(INVALID, 'invalid'),
|
|
(DELETED, 'deleted'),
|
|
)
|
|
|
|
|
|
class Webmention(TimeStampedModel):
|
|
entry = models.ForeignKey(Entry, on_delete=models.CASCADE)
|
|
source = models.CharField(max_length=255)
|
|
target = models.CharField(max_length=255)
|
|
state = models.CharField(
|
|
choices=State.CHOICES,
|
|
default=State.PENDING,
|
|
max_length=1
|
|
)
|
|
|
|
class Meta:
|
|
default_related_name = 'mentions'
|
|
unique_together = ('source', 'target')
|