def test_rel_attname(self): r = rel('a', 'b') self.assertEqual(r.relname, 'a') self.assertEqual(r.attname, 'a') r = rel('a', 'b', 'c') self.assertEqual(r.relname, 'a') self.assertEqual(r.attname, 'c')
class CommentView(views.ListMixin, views.CommentView): inclusion_class = inclusion.RelatedResourceInclusion include_rels = '__all__' relationships = [ rel('author', 'tests.test_inclusion.PersonView'), rel('article', 'tests.test_inclusion.ArticleView'), ]
class ArticleDetailView(views.DetailMixin, views.ArticleView): inclusion_class = inclusion.RelatedResourceInclusion include_rels = '__all__' relationships = [ rel('author', 'tests.test_inclusion.PersonView'), rel('comments', 'tests.test_inclusion.CommentView', 'comment'), ]
class CommentView(generics.GenericResourceView): queryset = models.Comment.objects.all() serializer_class = serializers.CommentSerializer relationships = [ rel('author', 'tests.views.AuthorView'), rel('article', 'tests.views.ArticleView'), ]
def test_rel_attname(self): r = rel('a', 'b') self.assertEqual(r.relname, 'a') self.assertEqual(r.attname, 'a') r = rel('a', 'b', 'c') self.assertEqual(r.relname, 'a') self.assertEqual(r.attname, 'c')
def test_lazy_viewset(self): r = rel('a', 'tests.test_utils.Import') self.assertIsInstance(r.viewset, Import) r = rel('a', Import()) self.assertIsInstance(r.viewset, Import) r = rel('a', Import) self.assertIsInstance(r.viewset, Import)
class BookView(generics.GenericResourceView): queryset = models.Book.objects.all() serializer_class = BookSerializer relationships = [ rel('author', 'tests.test_generics.AuthorView'), rel('cover', 'tests.test_generics.CoverView'), rel('tags', 'tests.test_generics.TagView'), ]
def test_lazy_viewset(self): r = rel('a', 'tests.test_utils.Import') self.assertIsInstance(r.viewset, Import) r = rel('a', Import()) self.assertIsInstance(r.viewset, Import) r = rel('a', Import) self.assertIsInstance(r.viewset, Import)
class BookView(views.ListMixin, views.BookView): filter_backends = (filters.RelatedOrderingFilter, filters.FieldLookupFilter, ) ordering_fields = '__all__' relationships = [ rel('author', 'tests.test_filters.AuthorView'), rel('cover', 'tests.test_filters.CoverView'), rel('tags', 'tests.test_filters.TagView'), ]
class BookView(viewsets.ResourceViewSet): queryset = models.Book.objects.all() serializer_class = serializers.BookSerializer include_rels = '__all__' relationships = ( rel('series', 'json_api.fantasy.views.SeriesView'), rel('author', 'json_api.fantasy.views.AuthorView'), rel('chapters', 'json_api.fantasy.views.ChapterView', 'chapter'), rel('stores', 'json_api.fantasy.views.StoreView', 'store'), )
class TagView(generics.GenericResourceView): queryset = models.Tag.objects.all() serializer_class = TagSerializer relationships = [ rel('books', 'tests.test_generics.BookView', 'book'), ]
class CoverView(generics.GenericResourceView): queryset = models.Cover.objects.all() serializer_class = CoverSerializer relationships = [ rel('book', 'tests.test_generics.BookView'), ]
class ChapterView(viewsets.ResourceViewSet): queryset = models.Chapter.objects.all() serializer_class = serializers.ChapterSerializer include_rels = '__all__' ordering = ('book', 'ordering') relationships = (rel('book', 'json_api.fantasy.views.BookView'), )
class PersonView(generics.GenericResourceView): queryset = models.Person.objects.all() serializer_class = serializers.PersonSerializer relationships = [ rel('articles', 'tests.views.ArticleView', 'article'), ]
class SeriesView(viewsets.ResourceViewSet): queryset = models.Series.objects.all() serializer_class = serializers.SeriesSerializer include_rels = '__all__' relationships = ( rel('books', 'json_api.fantasy.views.BookView', 'book'), # rel('photo', 'json_api.fantasy.views.PhotoView'), )
class TagView(views.ListMixin, views.TagView): filter_backends = ( filters.RelatedOrderingFilter, filters.FieldLookupFilter, ) ordering_fields = '__all__' relationships = [ rel('books', 'tests.test_filters.BookView', 'book'), ]
class AuthorView(generics.GenericResourceView): queryset = models.Author.objects.all() serializer_class = serializers.AuthorSerializer relationships = [rel('books', 'tests.views.BookView', 'book'), ]
class AltBookView(BookView): serializer_class = AltBookSerializer relationships = [ rel('author', 'tests.test_filters.AuthorView', 'foo'), ]
class _CommentView(CommentView): include_rels = '__all__' relationships = [ rel('article', AllIncludes), ]
class AuthorView(viewsets.ResourceViewSet): queryset = models.Author.objects.all() serializer_class = serializers.AuthorSerializer include_rels = '__all__' relationships = (rel('books', 'json_api.fantasy.views.BookView', 'book'), )
class AltBookView(BookView): serializer_class = AltBookSerializer relationships = [ rel('alt_author', AuthorView, 'author'), ]
class _BookView(BookView): ordering_fields = '__all__' relationships = [rel('author', _AuthorView), ]
class _BookView(BookView): ordering_fields = '__all__' relationships = [rel('author', NoDefinedFields), ]