﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
32266	Inspectdb command shows ugly classnames from django-based tables	Francisco Javier Lendínez Tirado	nobody	"Today I used the inspectdb command to test it. When it recovered the models, I see that class names are ""ugly"" when these models are default-created Django models.

For example:
** Original model**
{{{
class User(AbstractUser):
    # ...
    token = models.CharField(default=get_random_string, unique=True, max_length=20)
}}}
**Generated model**

{{{
class UsersUser(models.Model):
    token = models.CharField(unique=True, max_length=20)
   # ...

    class Meta:
        managed = False
        db_table = 'users_user'
}}}


----

UsersUser (or AppnameModel) could be counterintuitive, a simple flag **--remove-appnames** is enough to indicate that the first word could be removed (understanding that most of the app names are only a word).

Here we can check that the flag is active and remove the first word:
https://github.com/django/django/blob/master/django/core/management/commands/inspectdb.py#L43

**This improvement seems trivial but is useful enough to take it into account because these table names need manual actions, avoiding sync models automatically between projects automatically (for example)**
"	Cleanup/optimization	closed	Core (Management commands)	3.1	Normal	duplicate	inspectdb command		Unreviewed	0	0	0	0	1	0
