title: fields.E300: Field defines a relation with model, which is either not installed, or is abstract
body: <p>Yes, I know this is repeated and I have gone through other questions but nothing works for me. I have just started learning Django and I am getting this error while migrating two models with circular import. I have no idea what i can do to  solve this as I have tried most of possible solutions I have found. I guess maybe I am doing something wrong which raises this error. Please, guide me if that is the case.</p>
  
  <h2>User Model</h2>
  
  <pre><code>class UserCustom(models.Model):
      first_name = models.CharField(max_length=20)
      last_name = models.CharField(max_length=20)
      email = models.EmailField(unique=True)
      password = models.TextField()
      last_list = models.ForeignKey(TaskList, on_delete=models.CASCADE)
  
      class Meta:
          app_label = 'UserCustom'
  
  def __str__(self):
      return self.first_name
  </code></pre>
  
  <h2>TaskList Model</h2>
  
  <pre><code>class TaskList(models.Model):
      title = models.CharField(max_length=100)
      description = models.TextField()
      created_date = models.DateField(default=timezone.now)
      author = models.ForeignKey('user.UserCustom', on_delete=models.CASCADE)
  </code></pre>
  
  <h2>settings.py</h2>
  
  <pre><code>INSTALLED_APPS = [
      'users.apps.UsersConfig',
      'listtask.apps.ListTaskConfig',
      'django.contrib.admin',
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
  ]
  </code></pre>
  
  <blockquote>
    <p>Note: I do not want to use default user table of Django admin.</p>
  </blockquote>