summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2014-01-22 01:43:33 -0500
committerSimon Charette <charette.s@gmail.com>2014-01-26 14:42:30 -0500
commit10e3faf191d8f230dde8534d1c8fad8c8717816e (patch)
tree26d597787a0a22f0f11b1d1e0daf0c3b1feb5805 /tests
parentc3881944e8651ad98e29561154186e87928ca319 (diff)
Fixed #19774 -- Deprecated the contenttypes.generic module.
It contained models, forms and admin objects causing undesirable import side effects. Refs #16368. Thanks to Ramiro, Carl and Loïc for the review.
Diffstat (limited to 'tests')
-rw-r--r--tests/admin_inlines/models.py4
-rw-r--r--tests/admin_views/models.py8
-rw-r--r--tests/aggregation_regress/models.py8
-rw-r--r--tests/backends/models.py8
-rw-r--r--tests/contenttypes_tests/tests.py50
-rw-r--r--tests/custom_managers/models.py12
-rw-r--r--tests/delete_regress/models.py8
-rw-r--r--tests/fixtures/models.py5
-rw-r--r--tests/generic_inline_admin/admin.py12
-rw-r--r--tests/generic_inline_admin/models.py10
-rw-r--r--tests/generic_inline_admin/tests.py4
-rw-r--r--tests/generic_relations/models.py32
-rw-r--r--tests/generic_relations/tests.py2
-rw-r--r--tests/generic_relations_regress/models.py34
-rw-r--r--tests/managers_regress/models.py10
-rw-r--r--tests/multiple_database/models.py8
-rw-r--r--tests/prefetch_related/models.py16
-rw-r--r--tests/serializers_regress/models.py8
18 files changed, 132 insertions, 107 deletions
diff --git a/tests/admin_inlines/models.py b/tests/admin_inlines/models.py
index d4374ec14b..0ad59a07bf 100644
--- a/tests/admin_inlines/models.py
+++ b/tests/admin_inlines/models.py
@@ -6,8 +6,8 @@ from __future__ import unicode_literals
import random
from django.db import models
+from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
-from django.contrib.contenttypes import generic
from django.utils.encoding import python_2_unicode_compatible
@@ -34,7 +34,7 @@ class Child(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- parent = generic.GenericForeignKey()
+ parent = GenericForeignKey()
def __str__(self):
return 'I am %s, a child of %s' % (self.name, self.parent)
diff --git a/tests/admin_views/models.py b/tests/admin_views/models.py
index b517530952..ac4d4f20c5 100644
--- a/tests/admin_views/models.py
+++ b/tests/admin_views/models.py
@@ -6,7 +6,9 @@ import tempfile
import os
from django.contrib.auth.models import User
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
from django.core.files.storage import FileSystemStorage
from django.db import models
@@ -430,7 +432,7 @@ class FunkyTag(models.Model):
name = models.CharField(max_length=25)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey('content_type', 'object_id')
+ content_object = GenericForeignKey('content_type', 'object_id')
def __str__(self):
return self.name
@@ -441,7 +443,7 @@ class Plot(models.Model):
name = models.CharField(max_length=100)
team_leader = models.ForeignKey(Villain, related_name='lead_plots')
contact = models.ForeignKey(Villain, related_name='contact_plots')
- tags = generic.GenericRelation(FunkyTag)
+ tags = GenericRelation(FunkyTag)
def __str__(self):
return self.name
diff --git a/tests/aggregation_regress/models.py b/tests/aggregation_regress/models.py
index 275e37c036..4d495b4a75 100644
--- a/tests/aggregation_regress/models.py
+++ b/tests/aggregation_regress/models.py
@@ -1,5 +1,7 @@
# coding: utf-8
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@@ -28,7 +30,7 @@ class ItemTag(models.Model):
tag = models.CharField(max_length=100)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey('content_type', 'object_id')
+ content_object = GenericForeignKey('content_type', 'object_id')
@python_2_unicode_compatible
@@ -42,7 +44,7 @@ class Book(models.Model):
contact = models.ForeignKey(Author, related_name='book_contact_set')
publisher = models.ForeignKey(Publisher)
pubdate = models.DateField()
- tags = generic.GenericRelation(ItemTag)
+ tags = GenericRelation(ItemTag)
class Meta:
ordering = ('name',)
diff --git a/tests/backends/models.py b/tests/backends/models.py
index 1508af4354..5768960949 100644
--- a/tests/backends/models.py
+++ b/tests/backends/models.py
@@ -1,6 +1,8 @@
from __future__ import unicode_literals
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
from django.db import models, connection
from django.utils.encoding import python_2_unicode_compatible
@@ -46,13 +48,13 @@ class Tag(models.Model):
name = models.CharField(max_length=30)
content_type = models.ForeignKey(ContentType, related_name='backend_tags')
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey('content_type', 'object_id')
+ content_object = GenericForeignKey('content_type', 'object_id')
class Post(models.Model):
name = models.CharField(max_length=30)
text = models.TextField()
- tags = generic.GenericRelation('Tag')
+ tags = GenericRelation('Tag')
class Meta:
db_table = 'CaseSensitive_Post'
diff --git a/tests/contenttypes_tests/tests.py b/tests/contenttypes_tests/tests.py
index 624e60d7a5..5ded3268a1 100644
--- a/tests/contenttypes_tests/tests.py
+++ b/tests/contenttypes_tests/tests.py
@@ -2,7 +2,9 @@
from __future__ import absolute_import, unicode_literals
from django.apps.registry import Apps, apps
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
from django.core import checks
from django.db import models
@@ -90,7 +92,7 @@ class GenericForeignKeyTests(IsolatedModelsTestCase):
def test_str(self):
class Model(models.Model):
- field = generic.GenericForeignKey()
+ field = GenericForeignKey()
expected = "contenttypes_tests.Model.field"
actual = force_str(Model.field)
self.assertEqual(expected, actual)
@@ -99,7 +101,7 @@ class GenericForeignKeyTests(IsolatedModelsTestCase):
class TaggedItem(models.Model):
# no content_type field
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
errors = TaggedItem.content_object.check()
expected = [
@@ -116,7 +118,7 @@ class GenericForeignKeyTests(IsolatedModelsTestCase):
class Model(models.Model):
content_type = models.IntegerField() # should be ForeignKey
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey(
+ content_object = GenericForeignKey(
'content_type', 'object_id')
errors = Model.content_object.check()
@@ -136,7 +138,7 @@ class GenericForeignKeyTests(IsolatedModelsTestCase):
class Model(models.Model):
content_type = models.ForeignKey('self') # should point to ContentType
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey(
+ content_object = GenericForeignKey(
'content_type', 'object_id')
errors = Model.content_object.check()
@@ -156,7 +158,7 @@ class GenericForeignKeyTests(IsolatedModelsTestCase):
class TaggedItem(models.Model):
content_type = models.ForeignKey(ContentType)
# missing object_id field
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
errors = TaggedItem.content_object.check()
expected = [
@@ -173,7 +175,7 @@ class GenericForeignKeyTests(IsolatedModelsTestCase):
class Model(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object_ = generic.GenericForeignKey(
+ content_object_ = GenericForeignKey(
'content_type', 'object_id')
errors = Model.content_object_.check()
@@ -188,7 +190,7 @@ class GenericForeignKeyTests(IsolatedModelsTestCase):
self.assertEqual(errors, expected)
def test_generic_foreign_key_checks_are_performed(self):
- class MyGenericForeignKey(generic.GenericForeignKey):
+ class MyGenericForeignKey(GenericForeignKey):
def check(self, **kwargs):
return ['performed!']
@@ -205,10 +207,10 @@ class GenericRelationshipTests(IsolatedModelsTestCase):
class TaggedItem(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class Bookmark(models.Model):
- tags = generic.GenericRelation('TaggedItem')
+ tags = GenericRelation('TaggedItem')
errors = Bookmark.tags.field.check()
self.assertEqual(errors, [])
@@ -217,11 +219,11 @@ class GenericRelationshipTests(IsolatedModelsTestCase):
class TaggedItem(models.Model):
custom_content_type = models.ForeignKey(ContentType)
custom_object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey(
+ content_object = GenericForeignKey(
'custom_content_type', 'custom_object_id')
class Bookmark(models.Model):
- tags = generic.GenericRelation('TaggedItem',
+ tags = GenericRelation('TaggedItem',
content_type_field='custom_content_type',
object_id_field='custom_object_id')
@@ -230,7 +232,7 @@ class GenericRelationshipTests(IsolatedModelsTestCase):
def test_pointing_to_missing_model(self):
class Model(models.Model):
- rel = generic.GenericRelation('MissingModel')
+ rel = GenericRelation('MissingModel')
errors = Model.rel.field.check()
expected = [
@@ -248,10 +250,10 @@ class GenericRelationshipTests(IsolatedModelsTestCase):
def test_valid_self_referential_generic_relationship(self):
class Model(models.Model):
- rel = generic.GenericRelation('Model')
+ rel = GenericRelation('Model')
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey(
+ content_object = GenericForeignKey(
'content_type', 'object_id')
errors = Model.rel.field.check()
@@ -261,10 +263,10 @@ class GenericRelationshipTests(IsolatedModelsTestCase):
class TaggedItem(models.Model):
# no content_type field
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class Bookmark(models.Model):
- tags = generic.GenericRelation('TaggedItem')
+ tags = GenericRelation('TaggedItem')
errors = Bookmark.tags.field.check()
expected = [
@@ -281,10 +283,10 @@ class GenericRelationshipTests(IsolatedModelsTestCase):
class TaggedItem(models.Model):
content_type = models.ForeignKey(ContentType)
# missing object_id field
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class Bookmark(models.Model):
- tags = generic.GenericRelation('TaggedItem')
+ tags = GenericRelation('TaggedItem')
errors = Bookmark.tags.field.check()
expected = [
@@ -303,7 +305,7 @@ class GenericRelationshipTests(IsolatedModelsTestCase):
object_id = models.PositiveIntegerField()
class Bookmark(models.Model):
- tags = generic.GenericRelation('TaggedItem')
+ tags = GenericRelation('TaggedItem')
errors = Bookmark.tags.field.check()
expected = [
@@ -326,13 +328,13 @@ class GenericRelationshipTests(IsolatedModelsTestCase):
class SwappedModel(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class Meta:
swappable = 'TEST_SWAPPED_MODEL'
class Model(models.Model):
- rel = generic.GenericRelation('SwappedModel')
+ rel = GenericRelation('SwappedModel')
errors = Model.rel.field.check()
expected = [
@@ -351,10 +353,10 @@ class GenericRelationshipTests(IsolatedModelsTestCase):
class TaggedItem(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class InvalidBookmark(models.Model):
- tags_ = generic.GenericRelation('TaggedItem')
+ tags_ = GenericRelation('TaggedItem')
errors = InvalidBookmark.tags_.field.check()
expected = [
diff --git a/tests/custom_managers/models.py b/tests/custom_managers/models.py
index 238124a265..bbf037b362 100644
--- a/tests/custom_managers/models.py
+++ b/tests/custom_managers/models.py
@@ -11,7 +11,9 @@ returns.
from __future__ import unicode_literals
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@@ -88,7 +90,7 @@ class Person(models.Model):
favorite_book = models.ForeignKey('Book', null=True, related_name='favorite_books')
favorite_thing_type = models.ForeignKey('contenttypes.ContentType', null=True)
favorite_thing_id = models.IntegerField(null=True)
- favorite_thing = generic.GenericForeignKey('favorite_thing_type', 'favorite_thing_id')
+ favorite_thing = GenericForeignKey('favorite_thing_type', 'favorite_thing_id')
objects = PersonManager()
fun_people = FunPeopleManager()
@@ -110,7 +112,7 @@ class FunPerson(models.Model):
favorite_book = models.ForeignKey('Book', null=True, related_name='fun_people_favorite_books')
favorite_thing_type = models.ForeignKey('contenttypes.ContentType', null=True)
favorite_thing_id = models.IntegerField(null=True)
- favorite_thing = generic.GenericForeignKey('favorite_thing_type', 'favorite_thing_id')
+ favorite_thing = GenericForeignKey('favorite_thing_type', 'favorite_thing_id')
objects = FunPeopleManager()
@@ -127,10 +129,10 @@ class Book(models.Model):
authors = models.ManyToManyField(Person, related_name='books')
fun_authors = models.ManyToManyField(FunPerson, related_name='books')
- favorite_things = generic.GenericRelation(Person,
+ favorite_things = GenericRelation(Person,
content_type_field='favorite_thing_type', object_id_field='favorite_thing_id')
- fun_people_favorite_things = generic.GenericRelation(FunPerson,
+ fun_people_favorite_things = GenericRelation(FunPerson,
content_type_field='favorite_thing_type', object_id_field='favorite_thing_id')
def __str__(self):
diff --git a/tests/delete_regress/models.py b/tests/delete_regress/models.py
index 033689519a..6afe84146c 100644
--- a/tests/delete_regress/models.py
+++ b/tests/delete_regress/models.py
@@ -1,4 +1,6 @@
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
from django.db import models
@@ -7,7 +9,7 @@ class Award(models.Model):
name = models.CharField(max_length=25)
object_id = models.PositiveIntegerField()
content_type = models.ForeignKey(ContentType)
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class AwardNote(models.Model):
@@ -17,7 +19,7 @@ class AwardNote(models.Model):
class Person(models.Model):
name = models.CharField(max_length=25)
- awards = generic.GenericRelation(Award)
+ awards = GenericRelation(Award)
class Book(models.Model):
diff --git a/tests/fixtures/models.py b/tests/fixtures/models.py
index 08cb02ce72..30ffe9e8fe 100644
--- a/tests/fixtures/models.py
+++ b/tests/fixtures/models.py
@@ -9,7 +9,7 @@ in the application directory, or in one of the directories named in the
"""
from django.contrib.auth.models import Permission
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import GenericForeignKey
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@@ -55,8 +55,7 @@ class Tag(models.Model):
name = models.CharField(max_length=100)
tagged_type = models.ForeignKey(ContentType, related_name="fixtures_tag_set")
tagged_id = models.PositiveIntegerField(default=0)
- tagged = generic.GenericForeignKey(ct_field='tagged_type',
- fk_field='tagged_id')
+ tagged = GenericForeignKey(ct_field='tagged_type', fk_field='tagged_id')
def __str__(self):
return '<%s: %s> tagged "%s"' % (self.tagged.__class__.__name__,
diff --git a/tests/generic_inline_admin/admin.py b/tests/generic_inline_admin/admin.py
index c701e4a9eb..d0ce4c70ef 100644
--- a/tests/generic_inline_admin/admin.py
+++ b/tests/generic_inline_admin/admin.py
@@ -1,5 +1,5 @@
from django.contrib import admin
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.admin import GenericTabularInline
from .models import (Media, PhoneNumber, Episode, EpisodeExtra, Contact,
Category, EpisodePermanent, EpisodeMaxNum)
@@ -8,7 +8,7 @@ from .models import (Media, PhoneNumber, Episode, EpisodeExtra, Contact,
site = admin.AdminSite(name="admin")
-class MediaInline(generic.GenericTabularInline):
+class MediaInline(GenericTabularInline):
model = Media
@@ -18,22 +18,22 @@ class EpisodeAdmin(admin.ModelAdmin):
]
-class MediaExtraInline(generic.GenericTabularInline):
+class MediaExtraInline(GenericTabularInline):
model = Media
extra = 0
-class MediaMaxNumInline(generic.GenericTabularInline):
+class MediaMaxNumInline(GenericTabularInline):
model = Media
extra = 5
max_num = 2
-class PhoneNumberInline(generic.GenericTabularInline):
+class PhoneNumberInline(GenericTabularInline):
model = PhoneNumber
-class MediaPermanentInline(generic.GenericTabularInline):
+class MediaPermanentInline(GenericTabularInline):
model = Media
can_delete = False
diff --git a/tests/generic_inline_admin/models.py b/tests/generic_inline_admin/models.py
index af3a474cdf..0ae3c4b052 100644
--- a/tests/generic_inline_admin/models.py
+++ b/tests/generic_inline_admin/models.py
@@ -1,4 +1,6 @@
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@@ -17,7 +19,7 @@ class Media(models.Model):
"""
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
url = models.URLField()
description = models.CharField(max_length=100, blank=True)
keywords = models.CharField(max_length=100, blank=True)
@@ -56,7 +58,7 @@ class Category(models.Model):
class PhoneNumber(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey('content_type', 'object_id')
+ content_object = GenericForeignKey('content_type', 'object_id')
phone_number = models.CharField(max_length=30)
category = models.ForeignKey(Category, null=True, blank=True)
@@ -66,7 +68,7 @@ class PhoneNumber(models.Model):
class Contact(models.Model):
name = models.CharField(max_length=50)
- phone_numbers = generic.GenericRelation(PhoneNumber)
+ phone_numbers = GenericRelation(PhoneNumber)
#
diff --git a/tests/generic_inline_admin/tests.py b/tests/generic_inline_admin/tests.py
index e35f0d639a..b223c98298 100644
--- a/tests/generic_inline_admin/tests.py
+++ b/tests/generic_inline_admin/tests.py
@@ -4,8 +4,8 @@ import warnings
from django.contrib import admin
from django.contrib.admin.sites import AdminSite
-from django.contrib.contenttypes.generic import (
- generic_inlineformset_factory, GenericTabularInline)
+from django.contrib.contenttypes.admin import GenericTabularInline
+from django.contrib.contenttypes.forms import generic_inlineformset_factory
from django.forms.formsets import DEFAULT_MAX_NUM
from django.forms.models import ModelForm
from django.test import TestCase, override_settings
diff --git a/tests/generic_relations/models.py b/tests/generic_relations/models.py
index 859a17845e..436f26afb6 100644
--- a/tests/generic_relations/models.py
+++ b/tests/generic_relations/models.py
@@ -11,7 +11,9 @@ from complete).
from __future__ import unicode_literals
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@@ -24,7 +26,7 @@ class TaggedItem(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class Meta:
ordering = ["tag", "content_type__name"]
@@ -43,7 +45,7 @@ class AbstractComparison(models.Model):
content_type1 = models.ForeignKey(ContentType, related_name="comparative1_set")
object_id1 = models.PositiveIntegerField()
- first_obj = generic.GenericForeignKey(ct_field="content_type1", fk_field="object_id1")
+ first_obj = GenericForeignKey(ct_field="content_type1", fk_field="object_id1")
@python_2_unicode_compatible
@@ -55,7 +57,7 @@ class Comparison(AbstractComparison):
content_type2 = models.ForeignKey(ContentType, related_name="comparative2_set")
object_id2 = models.PositiveIntegerField()
- other_obj = generic.GenericForeignKey(ct_field="content_type2", fk_field="object_id2")
+ other_obj = GenericForeignKey(ct_field="content_type2", fk_field="object_id2")
def __str__(self):
return "%s is %s than %s" % (self.first_obj, self.comparative, self.other_obj)
@@ -66,10 +68,10 @@ class Animal(models.Model):
common_name = models.CharField(max_length=150)
latin_name = models.CharField(max_length=150)
- tags = generic.GenericRelation(TaggedItem)
- comparisons = generic.GenericRelation(Comparison,
- object_id_field="object_id1",
- content_type_field="content_type1")
+ tags = GenericRelation(TaggedItem)
+ comparisons = GenericRelation(Comparison,
+ object_id_field="object_id1",
+ content_type_field="content_type1")
def __str__(self):
return self.common_name
@@ -80,7 +82,7 @@ class Vegetable(models.Model):
name = models.CharField(max_length=150)
is_yucky = models.BooleanField(default=True)
- tags = generic.GenericRelation(TaggedItem)
+ tags = GenericRelation(TaggedItem)
def __str__(self):
return self.name
@@ -109,29 +111,29 @@ class Gecko(models.Model):
# To test fix for #11263
class Rock(Mineral):
- tags = generic.GenericRelation(TaggedItem)
+ tags = GenericRelation(TaggedItem)
class ManualPK(models.Model):
id = models.IntegerField(primary_key=True)
- tags = generic.GenericRelation(TaggedItem)
+ tags = GenericRelation(TaggedItem)
class ForProxyModelModel(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- obj = generic.GenericForeignKey(for_concrete_model=False)
+ obj = GenericForeignKey(for_concrete_model=False)
title = models.CharField(max_length=255, null=True)
class ForConcreteModelModel(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- obj = generic.GenericForeignKey()
+ obj = GenericForeignKey()
class ConcreteRelatedModel(models.Model):
- bases = generic.GenericRelation(ForProxyModelModel, for_concrete_model=False)
+ bases = GenericRelation(ForProxyModelModel, for_concrete_model=False)
class ProxyRelatedModel(ConcreteRelatedModel):
@@ -143,4 +145,4 @@ class ProxyRelatedModel(ConcreteRelatedModel):
class AllowsNullGFK(models.Model):
content_type = models.ForeignKey(ContentType, null=True)
object_id = models.PositiveIntegerField(null=True)
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
diff --git a/tests/generic_relations/tests.py b/tests/generic_relations/tests.py
index 8cd319bf03..ed12c5e92b 100644
--- a/tests/generic_relations/tests.py
+++ b/tests/generic_relations/tests.py
@@ -1,7 +1,7 @@
from __future__ import unicode_literals
from django import forms
-from django.contrib.contenttypes.generic import generic_inlineformset_factory
+from django.contrib.contenttypes.forms import generic_inlineformset_factory
from django.contrib.contenttypes.models import ContentType
from django.test import TestCase
from django.utils import six
diff --git a/tests/generic_relations_regress/models.py b/tests/generic_relations_regress/models.py
index e9fb41dfe3..a51dffb955 100644
--- a/tests/generic_relations_regress/models.py
+++ b/tests/generic_relations_regress/models.py
@@ -1,4 +1,6 @@
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@@ -13,7 +15,7 @@ __all__ = ('Link', 'Place', 'Restaurant', 'Person', 'Address',
class Link(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
def __str__(self):
return "Link to %s id=%s" % (self.content_type, self.object_id)
@@ -22,7 +24,7 @@ class Link(models.Model):
@python_2_unicode_compatible
class Place(models.Model):
name = models.CharField(max_length=100)
- links = generic.GenericRelation(Link)
+ links = GenericRelation(Link)
def __str__(self):
return "Place: %s" % self.name
@@ -42,7 +44,7 @@ class Address(models.Model):
zipcode = models.CharField(max_length=5)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
def __str__(self):
return '%s %s, %s %s' % (self.street, self.city, self.state, self.zipcode)
@@ -52,7 +54,7 @@ class Address(models.Model):
class Person(models.Model):
account = models.IntegerField(primary_key=True)
name = models.CharField(max_length=128)
- addresses = generic.GenericRelation(Address)
+ addresses = GenericRelation(Address)
def __str__(self):
return self.name
@@ -61,35 +63,35 @@ class Person(models.Model):
class CharLink(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.CharField(max_length=100)
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class TextLink(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.TextField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class OddRelation1(models.Model):
name = models.CharField(max_length=100)
- clinks = generic.GenericRelation(CharLink)
+ clinks = GenericRelation(CharLink)
class OddRelation2(models.Model):
name = models.CharField(max_length=100)
- tlinks = generic.GenericRelation(TextLink)
+ tlinks = GenericRelation(TextLink)
# models for test_q_object_or:
class Note(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
note = models.TextField()
class Contact(models.Model):
- notes = generic.GenericRelation(Note)
+ notes = GenericRelation(Note)
class Organization(models.Model):
@@ -100,7 +102,7 @@ class Organization(models.Model):
@python_2_unicode_compatible
class Company(models.Model):
name = models.CharField(max_length=100)
- links = generic.GenericRelation(Link)
+ links = GenericRelation(Link)
def __str__(self):
return "Company: %s" % self.name
@@ -135,7 +137,7 @@ class Guild(models.Model):
class Tag(models.Model):
content_type = models.ForeignKey(ContentType, related_name='g_r_r_tags')
object_id = models.CharField(max_length=15)
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
label = models.CharField(max_length=15)
@@ -143,7 +145,7 @@ class Board(models.Model):
name = models.CharField(primary_key=True, max_length=15)
-class SpecialGenericRelation(generic.GenericRelation):
+class SpecialGenericRelation(GenericRelation):
def __init__(self, *args, **kwargs):
super(SpecialGenericRelation, self).__init__(*args, **kwargs)
self.editable = True
@@ -168,11 +170,11 @@ class A(models.Model):
flag = models.NullBooleanField()
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey('content_type', 'object_id')
+ content_object = GenericForeignKey('content_type', 'object_id')
class B(models.Model):
- a = generic.GenericRelation(A)
+ a = GenericRelation(A)
class Meta:
ordering = ('id',)
diff --git a/tests/managers_regress/models.py b/tests/managers_regress/models.py
index 80b25a72fc..c8869f1e26 100644
--- a/tests/managers_regress/models.py
+++ b/tests/managers_regress/models.py
@@ -2,9 +2,11 @@
Various edge-cases for model managers.
"""
-from django.db import models
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
+from django.db import models
from django.utils.encoding import python_2_unicode_compatible, force_text
@@ -126,7 +128,7 @@ class Child7(Parent):
# RelatedManagers
@python_2_unicode_compatible
class RelatedModel(models.Model):
- test_gfk = generic.GenericRelation('RelationModel', content_type_field='gfk_ctype', object_id_field='gfk_id')
+ test_gfk = GenericRelation('RelationModel', content_type_field='gfk_ctype', object_id_field='gfk_id')
def __str__(self):
return force_text(self.pk)
@@ -140,7 +142,7 @@ class RelationModel(models.Model):
gfk_ctype = models.ForeignKey(ContentType)
gfk_id = models.IntegerField()
- gfk = generic.GenericForeignKey(ct_field='gfk_ctype', fk_field='gfk_id')
+ gfk = GenericForeignKey(ct_field='gfk_ctype', fk_field='gfk_id')
def __str__(self):
return force_text(self.pk)
diff --git a/tests/multiple_database/models.py b/tests/multiple_database/models.py
index fc5b28ad92..e02bb17f27 100644
--- a/tests/multiple_database/models.py
+++ b/tests/multiple_database/models.py
@@ -1,6 +1,8 @@
from django.contrib.auth.models import User
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
-from django.contrib.contenttypes import generic
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@@ -10,7 +12,7 @@ class Review(models.Model):
source = models.CharField(max_length=100)
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
def __str__(self):
return self.source
@@ -57,7 +59,7 @@ class Book(models.Model):
published = models.DateField()
authors = models.ManyToManyField(Person)
editor = models.ForeignKey(Person, null=True, related_name='edited')
- reviews = generic.GenericRelation(Review)
+ reviews = GenericRelation(Review)
pages = models.IntegerField(default=100)
def __str__(self):
diff --git a/tests/prefetch_related/models.py b/tests/prefetch_related/models.py
index e1b844dde5..35be3d6804 100644
--- a/tests/prefetch_related/models.py
+++ b/tests/prefetch_related/models.py
@@ -1,4 +1,6 @@
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils.encoding import python_2_unicode_compatible
@@ -124,15 +126,15 @@ class TaggedItem(models.Model):
tag = models.SlugField()
content_type = models.ForeignKey(ContentType, related_name="taggeditem_set2")
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey('content_type', 'object_id')
+ content_object = GenericForeignKey('content_type', 'object_id')
created_by_ct = models.ForeignKey(ContentType, null=True,
related_name='taggeditem_set3')
created_by_fkey = models.PositiveIntegerField(null=True)
- created_by = generic.GenericForeignKey('created_by_ct', 'created_by_fkey',)
+ created_by = GenericForeignKey('created_by_ct', 'created_by_fkey',)
favorite_ct = models.ForeignKey(ContentType, null=True,
related_name='taggeditem_set4')
favorite_fkey = models.CharField(max_length=64, null=True)
- favorite = generic.GenericForeignKey('favorite_ct', 'favorite_fkey')
+ favorite = GenericForeignKey('favorite_ct', 'favorite_fkey')
def __str__(self):
return self.tag
@@ -143,8 +145,8 @@ class TaggedItem(models.Model):
class Bookmark(models.Model):
url = models.URLField()
- tags = generic.GenericRelation(TaggedItem, related_name='bookmarks')
- favorite_tags = generic.GenericRelation(TaggedItem,
+ tags = GenericRelation(TaggedItem, related_name='bookmarks')
+ favorite_tags = GenericRelation(TaggedItem,
content_type_field='favorite_ct',
object_id_field='favorite_fkey',
related_name='favorite_bookmarks')
@@ -159,7 +161,7 @@ class Comment(models.Model):
# Content-object field
content_type = models.ForeignKey(ContentType)
object_pk = models.TextField()
- content_object = generic.GenericForeignKey(ct_field="content_type", fk_field="object_pk")
+ content_object = GenericForeignKey(ct_field="content_type", fk_field="object_pk")
class Meta:
ordering = ['id']
diff --git a/tests/serializers_regress/models.py b/tests/serializers_regress/models.py
index 2c4a43123e..2f8d0bf0e8 100644
--- a/tests/serializers_regress/models.py
+++ b/tests/serializers_regress/models.py
@@ -7,7 +7,9 @@ This class sets up a model for each model field type
import warnings
from django.db import models
-from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.fields import (
+ GenericForeignKey, GenericRelation
+)
from django.contrib.contenttypes.models import ContentType
# The following classes are for testing basic data
@@ -109,7 +111,7 @@ class Tag(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
- content_object = generic.GenericForeignKey()
+ content_object = GenericForeignKey()
class Meta:
ordering = ["data"]
@@ -118,7 +120,7 @@ class Tag(models.Model):
class GenericData(models.Model):
data = models.CharField(max_length=30)
- tags = generic.GenericRelation(Tag)
+ tags = GenericRelation(Tag)
# The following test classes are all for validation
# of related objects; in particular, forward, backward,