X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/4bb5959d246fa0528b83fc3e21f9e5782ec34236..73da85af22d6ef3decdb1ffa5af819a9fbb19e32:/src/catalogue/wikidata.py?ds=sidebyside diff --git a/src/catalogue/wikidata.py b/src/catalogue/wikidata.py index 4e63c095..88686b6e 100644 --- a/src/catalogue/wikidata.py +++ b/src/catalogue/wikidata.py @@ -1,6 +1,7 @@ from datetime import date from django.db import models from django.db.models.signals import m2m_changed +from django.utils.html import format_html from django.utils.translation import gettext_lazy as _ from django.dispatch import receiver from wikidata.client import Client @@ -10,9 +11,7 @@ from wikidata.datavalue import DatavalueError class WikidataMixin(models.Model): wikidata = models.CharField( max_length=255, - null=True, blank=True, - unique=True, help_text=_('If you have a Wikidata ID, like "Q1337", enter it and save.'), ) @@ -85,3 +84,14 @@ class WikidataAdminMixin: def save_related(self, request, form, formsets, change): super().save_related(request, form, formsets, change) form.instance.save() + + def wikidata_link(self, obj): + if obj.wikidata: + return format_html( + '{wd}', + wd=obj.wikidata, + ) + else: + return "" + + wikidata_link.admin_order_field = "wikidata"