Django 2.2
[turniej.git] / apps / poetry / models.py
index 63bf8f2..58b8caf 100644 (file)
@@ -1,8 +1,7 @@
-# -*- coding: utf-8 -*-
 import os
 import subprocess
 from django.db import models
-from django.core.urlresolvers import reverse
+from django.urls import reverse
 from django.conf import settings
 from poetry.utils import get_hash
 
@@ -17,7 +16,7 @@ class Poet(models.Model):
     first_line_title = models.BooleanField(default=False)
     skip_first_lines = models.IntegerField(default=0)
 
-    def __unicode__(self):
+    def __str__(self):
         return self.name
 
     def get_absolute_url(self):
@@ -30,7 +29,7 @@ class Poet(models.Model):
             stdout=subprocess.PIPE, stderr=subprocess.PIPE)
         os.chdir(curdir)
         stdout, stderr = proc.communicate()
-        text = unicode(stdout, "utf-8", errors="ignore")[:1000]
+        text = str(stdout, "utf-8", errors="ignore")[:1000]
         slug = get_hash(text)
         title = ''
         if self.first_line_title:
@@ -61,7 +60,7 @@ class Poem(models.Model):
     slug = models.SlugField(max_length=50, db_index=True)
     title = models.CharField(max_length=255, null=True, blank=True)
     text = models.TextField()
-    poet = models.ForeignKey(Poet)
+    poet = models.ForeignKey(Poet, on_delete=models.CASCADE)
     created_at = models.DateTimeField(auto_now_add=True, editable=False, db_index=True)
     seen_at = models.DateTimeField(auto_now_add=True, editable=False)
     view_count = models.IntegerField(default=1)
@@ -69,9 +68,9 @@ class Poem(models.Model):
     for_contest = models.BooleanField(default=False)
     in_contest = models.BooleanField(default=False)
 
-    def __unicode__(self):
-        oneliner = u"%s, %s" % (self.poet.name, self.pretty_title())
-        oneliner += u" [%s…]" % (u" ".join(self.text.split()[:5]))
+    def __str__(self):
+        oneliner = "%s, %s" % (self.poet.name, self.pretty_title())
+        oneliner += " [%s…]" % (" ".join(self.text.split()[:5]))
         return oneliner
 
     def get_absolute_url(self):