diff --git a/model_utils/fields.py b/model_utils/fields.py index 1a49359..4b49133 100644 --- a/model_utils/fields.py +++ b/model_utils/fields.py @@ -70,6 +70,11 @@ class SplitText(object): return getattr(self.instance, self.excerpt_field_name) excerpt = property(_get_excerpt) + # has_more is a boolean property + def _get_has_more(self): + return self.excerpt.strip() != self.content.strip() + has_more = property(_get_has_more) + # allows display via templates without .content necessary def __unicode__(self): return self.content diff --git a/model_utils/tests/tests.py b/model_utils/tests/tests.py index 8cd11b6..8e18b3f 100644 --- a/model_utils/tests/tests.py +++ b/model_utils/tests/tests.py @@ -41,6 +41,14 @@ class SplitFieldTests(TestCase): def test_content(self): self.assertEquals(self.post.body.content, self.full_text) + def test_has_more(self): + self.failUnless(self.post.body.has_more) + + def test_not_has_more(self): + post = Article.objects.create(title='example 2', + body='some text\n\nsome more\n') + self.failIf(post.body.has_more) + def test_load_back(self): post = Article.objects.get(pk=self.post.pk) self.assertEquals(post.body.content, self.post.body.content)