title: Do I need a manager when creating and saving objects in Django?
body: <p>I'm using Django with Python 3.7 and PyCharm.  I'm following this tutorial for learning how to create model and save them into the database -- <a href="https://docs.djangoproject.com/en/dev/topics/db/queries/#creating-objects" rel="nofollow noreferrer">https://docs.djangoproject.com/en/dev/topics/db/queries/#creating-objects</a> .  The tutorial refers to manager for retrieving objects, but not for setting them, so I'm confused as to why I get the below error</p>
  
  <pre><code>Article.objects.create_article(main page, '/path', 'url', 10, 22)
  Traceback (most recent call last):
    File "&lt;input&gt;", line 1, in &lt;module&gt;
  AttributeError: 'Manager' object has no attribute 'create_article'
  </code></pre>
  
  <p>when I'm trying to create and save an object.  Below is how I define my object in my models.py file ...</p>
  
  <pre><code>class Article(models.Model):
      mainpage = models.ForeignKey(MainPage, on_delete=models.CASCADE,)
      path = models.CharField(max_length=100)
      url = models.TextField
      time = models.DateTimeField(default=datetime.now)
      votes = models.IntegerField(default=0)
      comments = models.IntegerField(default=0)
  
      def __str__(self):
          return self.path
  
      @classmethod
      def create(cls, mainpage, path, url, votes, comments):
          article = cls(mainpage=mainpage,path=path,url=url,votes=votes,comments=comments)
          return article
  </code></pre>
  
  <p>I'm sure I'm missing something really obvious, but I don't know what it is.</p>
  
  <p><b>Edit:</b> Many have suggested using the "Article.objects.create" method but below is the output from the console ...</p>
  
  <pre><code>Article.objects.create(mainpage=mainpage, path='/path', url='url', votes=10, comments=22)
  Traceback (most recent call last):
    File "&lt;input&gt;", line 1, in &lt;module&gt;
    File "/Users/davea/Documents/workspace/mainarticles_project/venv/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
      return getattr(self.get_queryset(), name)(*args, **kwargs)
    File "/Users/davea/Documents/workspace/mainarticles_project/venv/lib/python3.7/site-packages/django/db/models/query.py", line 411, in create
      obj = self.model(**kwargs)
    File "/Users/davea/Documents/workspace/mainarticles_project/venv/lib/python3.7/site-packages/django/db/models/base.py", line 485, in __init__
      raise TypeError("'%s' is an invalid keyword argument for this function" % kwarg)
  TypeError: 'url' is an invalid keyword argument for this function
  </code></pre>