diff --git a/reviewboard/attachments/forms.py b/reviewboard/attachments/forms.py
index e9dba6555a04a891510a3dcea7e2b64c50238b3b..61882dfbfafb13179e6c9f542cfde2311a3b5bd5 100644
--- a/reviewboard/attachments/forms.py
+++ b/reviewboard/attachments/forms.py
@@ -67,7 +67,7 @@ class UploadFileForm(forms.Form):
         """Create a FileAttachment based on this form.
 
         Args:
-            filediff (reviewboard.diffviewer.models.FileDiff, optional):
+            filediff (reviewboard.diffviewer.models.filediff.FileDiff, optional):
                 The optional diff to attach this file to (for use when this
                 file represents a binary file within the diff).
 
diff --git a/reviewboard/diffviewer/diffutils.py b/reviewboard/diffviewer/diffutils.py
index 7e6b3791e80d8f8e68861db3d7e10922b536941d..3ecc003154aa93ca378415bd084eb8eca6264c0d 100644
--- a/reviewboard/diffviewer/diffutils.py
+++ b/reviewboard/diffviewer/diffutils.py
@@ -320,16 +320,18 @@ def get_matched_interdiff_files(tool, filediffs, interfilediffs):
         tool (reviewboard.scmtools.core.SCMTool)
             The tool used for all these diffs.
 
-        filediffs (list of reviewboard.diffviewer.models.FileDiff):
+        filediffs (list of reviewboard.diffviewer.models.filediff.FileDiff):
             The list of filediffs on the left-hand side of the diff range.
 
-        interfilediffs (list of reviewboard.diffviewer.models.FileDiff):
+        interfilediffs (list of reviewboard.diffviewer.models.filediff.
+                        FileDiff):
             The list of filediffs on the right-hand side of the diff range.
 
     Yields:
         tuple:
         A paired off filediff match. This is a tuple containing two entries,
-        each a :py:class:`~reviewboard.diffviewer.models.FileDiff` or ``None``.
+        each a :py:class:`~reviewboard.diffviewer.models.filediff.FileDiff` or
+        ``None``.
     """
     parser = tool.get_parser('')
     _normfile = parser.normalize_diff_filename
@@ -535,16 +537,17 @@ def get_diff_files(diffset, filediff=None, interdiffset=None,
     list containing all diff chunks used for rendering a side-by-side diff.
 
     Args:
-        diffset (reviewboard.diffviewer.models.DiffSet):
+        diffset (reviewboard.diffviewer.models.diffset.DiffSet):
             The diffset containing the files to return.
 
-        filediff (reviewboard.diffviewer.models.FileDiff, optional):
+        filediff (reviewboard.diffviewer.models.filediff.FileDiff, optional):
             A specific file in the diff to return information for.
 
-        interdiffset (reviewboard.diffviewer.models.DiffSet, optional):
+        interdiffset (reviewboard.diffviewer.models.diffset.DiffSet, optional):
             A second diffset used for an interdiff range.
 
-        interfilediff (reviewboard.diffviewer.models.FileDiff, optional):
+        interfilediff (reviewboard.diffviewer.models.filediff.FileDiff,
+                       optional):
             A second specific file in ``interdiffset`` used to return
             information for. This should be provided if ``filediff`` and
             ``interdiffset`` are both provided. If it's ``None`` in this
diff --git a/reviewboard/diffviewer/forms.py b/reviewboard/diffviewer/forms.py
index 011dabbb0ad28882d4e95a47f15cb28f80e37478..1232df850e9eeaf65d616aa6e1375dc0c563e7ec 100644
--- a/reviewboard/diffviewer/forms.py
+++ b/reviewboard/diffviewer/forms.py
@@ -83,11 +83,12 @@ class UploadDiffForm(forms.Form):
         """Create the DiffSet.
 
         Args:
-            diffset_history (reviewboard.diffviewer.models.DiffSetHistory):
+            diffset_history (reviewboard.diffviewer.models.diffset_history.
+                             DiffSetHistory):
                 The DiffSet history to attach the created DiffSet to.
 
         Returns:
-            reviewboard.diffviewer.models.DiffSet:
+            reviewboard.diffviewer.models.diffset.DiffSet:
             The created DiffSet.
         """
         assert self.is_valid()
diff --git a/reviewboard/diffviewer/managers.py b/reviewboard/diffviewer/managers.py
index 4e4ac7f15c9342898f3a2647e5106ac2b78f55a7..bb3cbf640c4e8f997b8c6c9410963c3e731854c1 100644
--- a/reviewboard/diffviewer/managers.py
+++ b/reviewboard/diffviewer/managers.py
@@ -399,8 +399,9 @@ class DiffSetManager(models.Manager):
 
         This parses a diff and optional parent diff covering one or more files,
         validates, and constructs :py:class:`DiffSets
-        <reviewboard.diffviewer.models.DiffSet>` and :py:class:`FileDiffs
-        <reviewboard.diffviewer.models.FileDiff>` representing the diff.
+        <reviewboard.diffviewer.models.diffset.DiffSet>` and
+        :py:class:`FileDiffs <reviewboard.diffviewer.models.filediff.FileDiff>`
+        representing the diff.
 
         This can optionally validate the diff without saving anything to the
         database. In this case, no value will be returned. Instead, callers
@@ -416,7 +417,8 @@ class DiffSetManager(models.Manager):
             parent_diff_file (django.core.files.uploadedfile.UploadedFile, optional):
                 The parent diff file uploaded in the form.
 
-            diffset_history (reviewboard.diffviewer.models.DiffSetHistory, optional):
+            diffset_history (reviewboard.diffviewer.models.diffset_history.
+                             DiffSetHistory, optional):
                 The history object to associate the DiffSet with. This is
                 not required if using ``validate_only=True``.
 
@@ -439,7 +441,7 @@ class DiffSetManager(models.Manager):
                 upon success. This defaults to ``False``.
 
         Returns:
-            reviewboard.diffviewer.models.DiffSet:
+            reviewboard.diffviewer.models.diffset.DiffSet:
             The resulting DiffSet stored in the database, if processing
             succeeded and ``validate_only=False``.
 
@@ -517,8 +519,9 @@ class DiffSetManager(models.Manager):
 
         This parses a diff and optional parent diff covering one or more files,
         validates, and constructs :py:class:`DiffSets
-        <reviewboard.diffviewer.models.DiffSet>` and :py:class:`FileDiffs
-        <reviewboard.diffviewer.models.FileDiff>` representing the diff.
+        <reviewboard.diffviewer.models.diffset.DiffSet>` and
+        :py:class:`FileDiffs <reviewboard.diffviewer.models.filediff.FileDiff>`
+        representing the diff.
 
         This can optionally validate the diff without saving anything to the
         database. In this case, no value will be returned. Instead, callers
@@ -540,7 +543,8 @@ class DiffSetManager(models.Manager):
             parent_diff_file_contents (bytes, optional):
                 The contents of the parent diff, if one is provided.
 
-            diffset_history (reviewboard.diffviewer.models.DiffSetHistory, optional):
+            diffset_history (reviewboard.diffviewer.models.diffset_history.
+                             DiffSetHistory, optional):
                 The history object to associate the DiffSet with. This is
                 not required if using ``validate_only=True``.
 
@@ -567,7 +571,7 @@ class DiffSetManager(models.Manager):
                 upon success. This defaults to ``False``.
 
         Returns:
-            reviewboard.diffviewer.models.DiffSet:
+            reviewboard.diffviewer.models.diffset.DiffSet:
             The resulting DiffSet stored in the database, if processing
             succeeded and ``validate_only=False``.
 
diff --git a/reviewboard/diffviewer/models/__init__.py b/reviewboard/diffviewer/models/__init__.py
index 90f758f492cefa01cbed2015df276133e71edd60..93d4f272b2c1f5b53f0dc0a6cc3f1660274b202a 100644
--- a/reviewboard/diffviewer/models/__init__.py
+++ b/reviewboard/diffviewer/models/__init__.py
@@ -2,9 +2,9 @@
 
 from __future__ import unicode_literals
 
-from reviewboard.diffviewer.models.diff_set import DiffSet
-from reviewboard.diffviewer.models.diff_set_history import DiffSetHistory
-from reviewboard.diffviewer.models.file_diff import FileDiff
+from reviewboard.diffviewer.models.diffset import DiffSet
+from reviewboard.diffviewer.models.diffset_history import DiffSetHistory
+from reviewboard.diffviewer.models.filediff import FileDiff
 from reviewboard.diffviewer.models.legacy_file_diff_data import \
     LegacyFileDiffData
 from reviewboard.diffviewer.models.raw_file_diff_data import RawFileDiffData
diff --git a/reviewboard/diffviewer/models/diff_set.py b/reviewboard/diffviewer/models/diffset.py
similarity index 97%
rename from reviewboard/diffviewer/models/diff_set.py
rename to reviewboard/diffviewer/models/diffset.py
index db0d76411bc5780ee7f62fc09804143e6e1bfe9d..c7cdf11e91221d9dceaac395ac6dc27a7bfe8e82 100644
--- a/reviewboard/diffviewer/models/diff_set.py
+++ b/reviewboard/diffviewer/models/diffset.py
@@ -74,7 +74,8 @@ class DiffSet(models.Model):
         aren't any, the revision will be set to 1.
 
         Args:
-            diffset_history (reviewboard.diffviewer.models.DiffSetHistory):
+            diffset_history (reviewboard.diffviewer.models.diffset_history.
+                             DiffSetHistory):
                 The diffset history used to compute the new revision.
 
         Raises:
diff --git a/reviewboard/diffviewer/models/diff_set_history.py b/reviewboard/diffviewer/models/diffset_history.py
similarity index 100%
rename from reviewboard/diffviewer/models/diff_set_history.py
rename to reviewboard/diffviewer/models/diffset_history.py
diff --git a/reviewboard/diffviewer/models/file_diff.py b/reviewboard/diffviewer/models/filediff.py
similarity index 100%
rename from reviewboard/diffviewer/models/file_diff.py
rename to reviewboard/diffviewer/models/filediff.py
diff --git a/reviewboard/diffviewer/tests/test_diffset.py b/reviewboard/diffviewer/tests/test_diffset.py
index 36c6cc9748147eddefac7066eacaabc243fad502..ce2761d0ab6240882b541f5440b11e9f5d308c08 100644
--- a/reviewboard/diffviewer/tests/test_diffset.py
+++ b/reviewboard/diffviewer/tests/test_diffset.py
@@ -5,7 +5,7 @@ from reviewboard.testing import TestCase
 
 
 class DiffSetTests(TestCase):
-    """Unit tests for reviewboard.diffviewer.models.DiffSet."""
+    """Unit tests for reviewboard.diffviewer.models.diffset.DiffSet."""
 
     fixtures = ['test_scmtools']
 
diff --git a/reviewboard/diffviewer/views.py b/reviewboard/diffviewer/views.py
index 8073a5c9879427b780eac54ff97effa829b0785d..211d3eaefdd6ab76c47cf1a7cb23843b817fb3c4 100644
--- a/reviewboard/diffviewer/views.py
+++ b/reviewboard/diffviewer/views.py
@@ -432,13 +432,13 @@ class DiffFragmentView(View):
 
             filediff_id (int):
                 The ID of the
-                :py:class:`~reviewboard.diffviewer.models.FileDiff` being
-                rendered.
+                :py:class:`~reviewboard.diffviewer.models.filediff.FileDiff`
+                being rendered.
 
             interfilediff_id (int):
                 The ID of the
-                :py:class:`~reviewboard.diffviewer.models.FileDiff` on the
-                other side of the diff revision, if viewing an interdiff.
+                :py:class:`~reviewboard.diffviewer.models.filediff.FileDiff` on
+                the other side of the diff revision, if viewing an interdiff.
 
             **kwargs (dict):
                 Additional keyword arguments passed to the function.
diff --git a/reviewboard/reviews/detail.py b/reviewboard/reviews/detail.py
index e6a3057b755096e825e77ca01bba8b2e9555a4b5..c8f5758f41eea73886ca0da14b364c8993d58689 100644
--- a/reviewboard/reviews/detail.py
+++ b/reviewboard/reviews/detail.py
@@ -83,12 +83,12 @@ class ReviewRequestPageData(object):
         changedescs (list of reviewboard.changedescs.models.ChangeDescription):
             All the change descriptions to be shown on the page.
 
-        diffsets (list of reviewboard.diffviewer.models.DiffSet):
+        diffsets (list of reviewboard.diffviewer.models.diffset.DiffSet):
             All of the diffsets associated with the review request.
 
         diffsets_by_id (dict):
             A mapping from ID to
-            :py:class:`~reviewboard.diffviewer.models.DiffSet`.
+            :py:class:`~reviewboard.diffviewer.models.diffset.DiffSet`.
 
         draft (reviewboard.reviews.models.ReviewRequestDraft):
             The active draft of the review request, if any. May be ``None``.
diff --git a/reviewboard/reviews/forms.py b/reviewboard/reviews/forms.py
index b186db3930c2d07172a7d3308b9f4b35793b032b..6f786a334afa8733e8dd5ad3f592144dc916e94f 100644
--- a/reviewboard/reviews/forms.py
+++ b/reviewboard/reviews/forms.py
@@ -159,14 +159,15 @@ class UploadDiffForm(diffviewer_forms.UploadDiffForm):
         Args:
             attach_to_history (bool):
                 Whether or not the created
-                :py:class:`~reviewboard.diffviewer.models.DiffSet` will be
-                attached to the diffset history of the
-                :py:class:`reviewboard.reviews.model.ReviewRequest`.
+                :py:class:`~reviewboard.diffviewer.models.diffset.DiffSet` will
+                be attached to the diffset history of the
+                :py:class:`reviewboard.reviews.models.review_request.
+                ReviewRequest`.
 
                 Defaults to ``False``.
 
         Returns:
-            reviewboard.diffviewer.models.DiffSet:
+            reviewboard.diffviewer.models.diffset.DiffSet:
             The created DiffSet.
         """
         assert self.is_valid()
diff --git a/reviewboard/reviews/views.py b/reviewboard/reviews/views.py
index f47d29c16269214a9167802212506fdc2496609f..78a4e966a8ba9b11a4653ee2c205f80e9561f225 100644
--- a/reviewboard/reviews/views.py
+++ b/reviewboard/reviews/views.py
@@ -197,7 +197,7 @@ class ReviewRequestViewMixin(CheckRequestMethodViewMixin,
                 The draft of the review request.
 
         Returns:
-            reviewboard.diffviewer.models.DiffSet:
+            reviewboard.diffviewer.models.diffset.DiffSet:
             The resulting DiffSet.
 
         Raises:
diff --git a/reviewboard/testing/testcase.py b/reviewboard/testing/testcase.py
index 124e49bbfb7f6eb1576fcbba55ec291614b81711..0599b5b7104c60b6146026368b02dfb5d831ca7f 100644
--- a/reviewboard/testing/testcase.py
+++ b/reviewboard/testing/testcase.py
@@ -221,10 +221,11 @@ class TestCase(FixturesCompilerMixin, DjbletsTestCase):
             review (reviewboard.reviews.models.review.Review):
                 The review associated with the comment.
 
-            filediff (reviewboard.diffviewer.models.FileDiff):
+            filediff (reviewboard.diffviewer.models.filediff.FileDiff):
                 The FileDiff associated with the comment.
 
-            interfilediff (reviewboard.diffviewer.models.FileDiff, optional):
+            interfilediff (reviewboard.diffviewer.models.filediff.FileDiff,
+                           optional):
                 The FileDiff used for the end of an interdiff range associated
                 with the comment.
 
@@ -481,7 +482,7 @@ class TestCase(FixturesCompilerMixin, DjbletsTestCase):
         default data that can be overridden by the caller.
 
         Args:
-            diffset (reviewboard.diffviewer.models.DiffSet):
+            diffset (reviewboard.diffviewer.models.diffset.DiffSet):
                 The parent diff set that will own this file.
 
             source_file (unicode, optional):
@@ -509,7 +510,7 @@ class TestCase(FixturesCompilerMixin, DjbletsTestCase):
                 Whether to automatically save the resulting object.
 
         Returns:
-            reviewboard.diffviewer.models.FileDiff:
+            reviewboard.diffviewer.models.filediff.FileDiff:
             The resulting FileDiff.
         """
         filediff = FileDiff(
diff --git a/reviewboard/webapi/resources/filediff.py b/reviewboard/webapi/resources/filediff.py
index c7dac1ada39053f0c8a3f0c516a0a3b9ea14b919..d1a1ae1f239fb8b29f77dbb0874341b700b41eb4 100644
--- a/reviewboard/webapi/resources/filediff.py
+++ b/reviewboard/webapi/resources/filediff.py
@@ -136,7 +136,7 @@ class FileDiffResource(WebAPIResource):
         represents.
 
         Args:
-            filediff (reviewboard.diffviewer.models.FileDiff):
+            filediff (reviewboard.diffviewer.models.filediff.FileDiff):
                 The FileDiff whose status field is to be serialized.
 
         Returns:
