+# This file is part of FNP-Redakcja, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+#
from datetime import date
from django.db import models
from django.db.models.signals import m2m_changed
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.'),
)
wdvalue = wdvalue.label.get("pl", str(wdvalue.label))
setattr(self, attname, wdvalue)
+ def wikidata_link(self):
+ if self.wikidata:
+ return format_html(
+ '<a href="https://www.wikidata.org/wiki/{wd}" target="_blank">{wd}</a>',
+ wd=self.wikidata,
+ )
+ else:
+ return ""
+
+ wikidata_link.admin_order_field = "wikidata"
+
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('<a href="https://www.wikidata.org/wiki/{wd}" target="_blank">{wd}</a>', wd=obj.wikidata)
- else:
- return ''
- wikidata_link.admin_order_field = 'wikidata'