Obey length limits for wikidata import.
[redakcja.git] / src / catalogue / wikidata.py
index 90f1a5c..84f899a 100644 (file)
@@ -159,7 +159,15 @@ class WikidataModel(models.Model):
                 wdvalue = wdvalue.label.get(language, str(wdvalue.label))
 
             if not skip_set:
-                setattr(self, attname, wdvalue)
+                try:
+                    wdvalue = model_field.to_python(wdvalue)
+                except:
+                    pass
+                else:
+                    max_length = getattr(model_field, 'max_length', None)
+                    if max_length:
+                        wdvalue = wdvalue[:max_length]
+                    setattr(self, attname, wdvalue)
 
     def wikidata_link(self):
         if self.wikidata: