customize django admin ui chrome

This commit is contained in:
Nick Sweeting 2019-04-22 21:40:42 -04:00
parent b44281919d
commit ba7144f6f3
5 changed files with 126 additions and 1 deletions

View file

@ -1,11 +1,19 @@
from datetime import datetime
from django.contrib import admin
from .models import Page
class PageAdmin(admin.ModelAdmin):
list_display = ('timestamp', 'short_url', 'title', 'is_archived', 'num_outputs', 'added', 'updated', 'url_hash')
readonly_fields = ('num_outputs', 'is_archived', 'added', 'updated', 'bookmarked')
fields = ('url', 'timestamp', 'title', 'tags', *readonly_fields)
def short_url(self, obj):
return obj.url[:64]
def updated(self, obj):
return obj.isoformat()
admin.site.register(Page, PageAdmin)

View file

@ -5,6 +5,7 @@ import uuid
from django.db import models
from legacy.schema import Link
from legacy.util import parse_date
class Page(models.Model):
@ -44,6 +45,10 @@ class Page(models.Model):
def as_link(self) -> Link:
return Link.from_json(self.as_json())
@property
def bookmarked(self):
return parse_date(self.timestamp)
@property
def is_archived(self):
return self.as_link().is_archived