title: Python Django : Saving a Version model that references other current models saved
body: <p>I'm really new to Python and Python Django. </p>
  
  <p>I'd like to ask if there's a possibility that I create a <code>Version</code> model that saves the state of the other current models that it uses.</p>
  
  <p>For example, there are already entries in models <code>Point and Line</code> once I click on a save button, it should create the <code>Version</code> model that will contain the state of the current <code>Point and Line</code> <code>data entries, name, date</code> it was saved. Which, after saving the version, I can still modify my <code>Point and Line</code>.</p>
  
  <p>It should be able to create a lot of Versions. Not override one another. What is the best way to do this? Is this even possible?</p>
  
  <p>Would this code be okay?</p>
  
  <pre><code>class Version(models.Model):
    prototype_name = models.CharField(max_length=100)
    date = models.DateField(auto_now=True)
    point = models.ForeignKey(Point, on delete=models.DO_NOTHING)
    line = models.ForeignKey(Line, on_delete= models.DO_NOTHING)
  </code></pre>
  
  <p>Or I should just create new instances for them.... It seems to be a weird approach...</p>